Master2KAZ Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 (змінено) Приветствую всех! Пишу скрипт для крона. <?php // Configuration if (is_file('admin/config.php')) { require_once('admin/config.php'); } // if (defined('DIR_APPLICATION')) { // Startup require_once(DIR_SYSTEM . 'startup.php'); // Registry $registry = new Registry(); // Loader $loader = new Loader($registry); $registry->set('load', $loader); // Config $config = new Config(); $registry->set('config', $config); // Database $db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE); $registry->set('db', $db); // Store if (isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1'))) { $store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`ssl`, 'www.', '') = '" . $db->escape('https://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'"); } else { $store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`url`, 'www.', '') = '" . $db->escape('http://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'"); } if ($store_query->num_rows) { $config->set('config_store_id', $store_query->row['store_id']); } else { $config->set('config_store_id', 0); } // Settings $query = $db->query("SELECT * FROM `" . DB_PREFIX . "setting` WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC"); foreach ($query->rows as $result) { if (!$result['serialized']) { $config->set($result['key'], $result['value']); } else { $config->set($result['key'], unserialize($result['value'])); } } if (!$store_query->num_rows) { $config->set('config_url', HTTP_SERVER); $config->set('config_ssl', HTTPS_SERVER); } // Log $log = new Log($config->get('config_error_filename')); $registry->set('log', $log); function error_handler($errno, $errstr, $errfile, $errline) { global $log, $config; // error suppressed with @ if (error_reporting() === 0) { return false; } switch ($errno) { case E_NOTICE: case E_USER_NOTICE: $error = 'Notice'; break; case E_WARNING: case E_USER_WARNING: $error = 'Warning'; break; case E_ERROR: case E_USER_ERROR: $error = 'Fatal Error'; break; default: $error = 'Unknown'; break; } if ($config->get('config_error_display')) { echo '<b>' . $error . '</b>: ' . $errstr . ' in <b>' . $errfile . '</b> on line <b>' . $errline . '</b>'; } if ($config->get('config_error_log')) { $log->write('PHP ' . $error . ': ' . $errstr . ' in ' . $errfile . ' on line ' . $errline); } return true; } // Error Handler set_error_handler('error_handler'); $loader->load->model('tool/myModule'); $text_succ = $loader->model_tool_myModule->myModuleFunc($newfile, $options_xml); ... Строки 100 и 102 выдают ошибки. В версии 1.5.5.1.2 такой код работал, а во 2-й версии - не работает. Подскажите, что я сделал не так? Как можно загрузить модель и вызвать функцию модели в одном скрипте? Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options...
hplus Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 https://opencartforum.com/topic/46450-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE-api-%D0%BE%D0%BF%D0%B5%D0%BD%D0%BA%D0%B0%D1%80%D1%82%D0%B0/ Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 Приветствую всех! Пишу скрипт для крона. <?php // Configuration if (is_file('admin/config.php')) { require_once('admin/config.php'); } // if (defined('DIR_APPLICATION')) { // Startup require_once(DIR_SYSTEM . 'startup.php'); // Registry $registry = new Registry(); // Loader $loader = new Loader($registry); $registry->set('load', $loader); // Config $config = new Config(); $registry->set('config', $config); Строки 100 и 102 выдают ошибки. В версии 1.5.5.1.2 такой код работал, а во 2-й версии - не работает. Подскажите, что я сделал не так? Как можно загрузить модель и вызвать функцию модели в одном скрипте? И не забудьте по окончанию работы скрипта вернуть Loader и Config Надіслати Поділитися на інших сайтах More sharing options... Baco Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 require_once("catalog/model/tool/myModule.php"); $my_model = new ModelCatalogmyModuleFunc(); Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 М-да...Видимо знаний мне хватает, чтобы разобраться. А никто не может написать чуть подробнее вплоть до вызова функции модели?? P.S. Обычно с этого поста (когда просят почти готовое решение) посылают куда подальше (в худшем случае), в лучшем учить матчасть. Тем не менее, ВСЕМ СПАСИБО! Всех вам благ и удачи! ))) Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 https://github.com/wshaman/ocart-cli Вот еще нашел что-то подобное, но как применить мозгов не хватает. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 а зачем в этом скрипте загружать модель? инициируйте контроллер $controller = new Front($registry);// Routerif (isset($request->get['route'])) { $action = new Action($request->get['route']);} else { $action = new Action('common/dashboard');}// Dispatch$controller->dispatch($action, new Action('error/not_found'));// Output$response->output(); Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 а зачем в этом скрипте загружать модель? инициируйте контроллер $controller = new Front($registry); // Router if (isset($request->get['route'])) { $action = new Action($request->get['route']); } else { $action = new Action('common/dashboard'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); // Output $response->output(); Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 https://opencartforum.com/topic/46450-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE-api-%D0%BE%D0%BF%D0%B5%D0%BD%D0%BA%D0%B0%D1%80%D1%82%D0%B0/ Вот пытаюсь разобраться по вашей ссылке и немножко недопонимаю. <?php abstract class OCApi { protected $config; public function __construct() { $configFileName = __DIR__ . '/etc/config.json'; if(!file_exists($configFileName)) throw new Exception("Error loading config $configFileName"); $this->config = json_decode(file_get_contents($configFileName)); if(!is_object($this->config)) throw new Exception("Wrong config $configFileName"); $this->config->apiDir = __DIR__; } public function __set($name, $val) { $this->config->opencart->{$name} = $val; } public function getConfig() { return $this->config; } } зачем в __construct() все эти махинации, если все сводится к тому чтобы определить путь к папке с опенкартом. Не легче ли использовать DIR_APPLICATION?? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Вы хоть поняли что вы написали? Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 Вы хоть поняли что вы написали? Возможно, я не понял, что вы написали. Что мне даст инициализация контроллера? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 А тут мне нужно напрямую запустить функцию из модели с преднастройками. Все делается в контроллере, в том числе и подключение нужных моделей Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 (змінено) 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Cron-скрипт Opencart 2.0 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Baco Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 require_once("catalog/model/tool/myModule.php"); $my_model = new ModelCatalogmyModuleFunc(); Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 М-да...Видимо знаний мне хватает, чтобы разобраться. А никто не может написать чуть подробнее вплоть до вызова функции модели?? P.S. Обычно с этого поста (когда просят почти готовое решение) посылают куда подальше (в худшем случае), в лучшем учить матчасть. Тем не менее, ВСЕМ СПАСИБО! Всех вам благ и удачи! ))) Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 https://github.com/wshaman/ocart-cli Вот еще нашел что-то подобное, но как применить мозгов не хватает. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 а зачем в этом скрипте загружать модель? инициируйте контроллер $controller = new Front($registry);// Routerif (isset($request->get['route'])) { $action = new Action($request->get['route']);} else { $action = new Action('common/dashboard');}// Dispatch$controller->dispatch($action, new Action('error/not_found'));// Output$response->output(); Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 а зачем в этом скрипте загружать модель? инициируйте контроллер $controller = new Front($registry); // Router if (isset($request->get['route'])) { $action = new Action($request->get['route']); } else { $action = new Action('common/dashboard'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); // Output $response->output(); Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 https://opencartforum.com/topic/46450-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE-api-%D0%BE%D0%BF%D0%B5%D0%BD%D0%BA%D0%B0%D1%80%D1%82%D0%B0/ Вот пытаюсь разобраться по вашей ссылке и немножко недопонимаю. <?php abstract class OCApi { protected $config; public function __construct() { $configFileName = __DIR__ . '/etc/config.json'; if(!file_exists($configFileName)) throw new Exception("Error loading config $configFileName"); $this->config = json_decode(file_get_contents($configFileName)); if(!is_object($this->config)) throw new Exception("Wrong config $configFileName"); $this->config->apiDir = __DIR__; } public function __set($name, $val) { $this->config->opencart->{$name} = $val; } public function getConfig() { return $this->config; } } зачем в __construct() все эти махинации, если все сводится к тому чтобы определить путь к папке с опенкартом. Не легче ли использовать DIR_APPLICATION?? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Вы хоть поняли что вы написали? Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 Вы хоть поняли что вы написали? Возможно, я не понял, что вы написали. Что мне даст инициализация контроллера? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 А тут мне нужно напрямую запустить функцию из модели с преднастройками. Все делается в контроллере, в том числе и подключение нужных моделей Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 (змінено) 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Cron-скрипт Opencart 2.0 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 М-да...Видимо знаний мне хватает, чтобы разобраться. А никто не может написать чуть подробнее вплоть до вызова функции модели?? P.S. Обычно с этого поста (когда просят почти готовое решение) посылают куда подальше (в худшем случае), в лучшем учить матчасть. Тем не менее, ВСЕМ СПАСИБО! Всех вам благ и удачи! ))) Надіслати Поділитися на інших сайтах More sharing options...
Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 https://github.com/wshaman/ocart-cli Вот еще нашел что-то подобное, но как применить мозгов не хватает. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 а зачем в этом скрипте загружать модель? инициируйте контроллер $controller = new Front($registry);// Routerif (isset($request->get['route'])) { $action = new Action($request->get['route']);} else { $action = new Action('common/dashboard');}// Dispatch$controller->dispatch($action, new Action('error/not_found'));// Output$response->output(); Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 а зачем в этом скрипте загружать модель? инициируйте контроллер $controller = new Front($registry); // Router if (isset($request->get['route'])) { $action = new Action($request->get['route']); } else { $action = new Action('common/dashboard'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); // Output $response->output(); Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 https://opencartforum.com/topic/46450-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE-api-%D0%BE%D0%BF%D0%B5%D0%BD%D0%BA%D0%B0%D1%80%D1%82%D0%B0/ Вот пытаюсь разобраться по вашей ссылке и немножко недопонимаю. <?php abstract class OCApi { protected $config; public function __construct() { $configFileName = __DIR__ . '/etc/config.json'; if(!file_exists($configFileName)) throw new Exception("Error loading config $configFileName"); $this->config = json_decode(file_get_contents($configFileName)); if(!is_object($this->config)) throw new Exception("Wrong config $configFileName"); $this->config->apiDir = __DIR__; } public function __set($name, $val) { $this->config->opencart->{$name} = $val; } public function getConfig() { return $this->config; } } зачем в __construct() все эти махинации, если все сводится к тому чтобы определить путь к папке с опенкартом. Не легче ли использовать DIR_APPLICATION?? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Вы хоть поняли что вы написали? Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 Вы хоть поняли что вы написали? Возможно, я не понял, что вы написали. Что мне даст инициализация контроллера? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 А тут мне нужно напрямую запустить функцию из модели с преднастройками. Все делается в контроллере, в том числе и подключение нужных моделей Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 (змінено) 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Cron-скрипт Opencart 2.0 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 а зачем в этом скрипте загружать модель? инициируйте контроллер $controller = new Front($registry); // Router if (isset($request->get['route'])) { $action = new Action($request->get['route']); } else { $action = new Action('common/dashboard'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); // Output $response->output(); Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Надіслати Поділитися на інших сайтах More sharing options...
Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 https://opencartforum.com/topic/46450-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE-api-%D0%BE%D0%BF%D0%B5%D0%BD%D0%BA%D0%B0%D1%80%D1%82%D0%B0/ Вот пытаюсь разобраться по вашей ссылке и немножко недопонимаю. <?php abstract class OCApi { protected $config; public function __construct() { $configFileName = __DIR__ . '/etc/config.json'; if(!file_exists($configFileName)) throw new Exception("Error loading config $configFileName"); $this->config = json_decode(file_get_contents($configFileName)); if(!is_object($this->config)) throw new Exception("Wrong config $configFileName"); $this->config->apiDir = __DIR__; } public function __set($name, $val) { $this->config->opencart->{$name} = $val; } public function getConfig() { return $this->config; } } зачем в __construct() все эти махинации, если все сводится к тому чтобы определить путь к папке с опенкартом. Не легче ли использовать DIR_APPLICATION?? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 Контроллер сам по себе ничего не запускает, он запускает функцию только после нажатия кнопки submit. А тут мне нужно напрямую запустить функцию из модели с преднастройками. Вы хоть поняли что вы написали? Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 Вы хоть поняли что вы написали? Возможно, я не понял, что вы написали. Что мне даст инициализация контроллера? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 А тут мне нужно напрямую запустить функцию из модели с преднастройками. Все делается в контроллере, в том числе и подключение нужных моделей Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 (змінено) 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Cron-скрипт Opencart 2.0
Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 Вы хоть поняли что вы написали? Возможно, я не понял, что вы написали. Что мне даст инициализация контроллера? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 А тут мне нужно напрямую запустить функцию из модели с преднастройками. Все делается в контроллере, в том числе и подключение нужных моделей Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 (змінено) 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
chukcha Опубліковано: 31 серпня 2015 Share Опубліковано: 31 серпня 2015 А тут мне нужно напрямую запустить функцию из модели с преднастройками. Все делается в контроллере, в том числе и подключение нужных моделей Надіслати Поділитися на інших сайтах More sharing options... Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 (змінено) 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Master2KAZ Опубліковано: 31 серпня 2015 Автор Share Опубліковано: 31 серпня 2015 (змінено) 1. Вы инициализируете все библиотеки 2. В конце - вы вызываете контроллер который будет дефолтным для вашего джоба $action = new Action('tool/myjob'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо Змінено 31 серпня 2015 користувачем Master2KAZ Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts