Всем доброго дня!
Как осуществить запуск контроллера из php кода?
Например из командной строки можно запустить командой - php /path/to/cart/admin.php --dispatch=controller.mode
А как сделать это из своего аддона. Контроллер ничего выводить не должен, просто делает определенные действия на сайте.
Curl? Правильно ли будет такое решение? Или может есть какие-то cs cart способы? )
Не много не так. Мне нужно в своем модуле по крону запускать импорты. Т.е. я создал свой контроллер, внутри которого по моей логике нужно стартовать пресеты импортов.
пока сделал так:
shell_exec('/opt/php71/bin/php путь к админке -p --dispatch=advanced_import.import.import --preset_id='.$s_import_preset['preset_id']);
Это работает, но не уверен что так поступать правильно ) Есть какой-то cs cart способ для запуска контроллера из PHP?
Если код из контроллера повторяется в другом контроллере то лучше обернуть повторяющийся код в функцию и вызывать эту функцию где угодно и сколь угодно раз.
Думаю обращение из контроллера к другому контроллеру не очень хорошая практика.
Так вы возьмите код из файла app/addons/advanced_import/controllers/backend/advanced_import.php для mode = import и используйте его, чтобы не думалось.
shell_exec часто отключают из соображений безопасности, причем могут внезапно на хостинге выключить