Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Загрузка в OC 4 в CLI


Ever
 Поделиться

Рекомендованные сообщения

Всем привет! 

В тройке работал по такому принципу (файл располагался в корне сайта): tst.php

// Config file
require_once (realpath(dirname(__FILE__ ) . '/admin/config.php'));

if(!isset($_SERVER['SERVER_PORT'])) {
    $_SERVER['SERVER_PORT'] = 80;
}

// Startup
require_once(DIR_SYSTEM . 'startup.php');

...

 

Сейчас же так не работает и в консоли выдает код формы авторизации. 

Подскажите как в 4-ке правильно загружать файлы для дальнейшей работы в cli?

Изменено пользователем Ever
Ссылка на комментарий
Поделиться на других сайтах


  • Ever изменил заголовок на Загрузка в OC 4 в CLI
13.07.2022 в 19:35, chukcha сказал:

Вы уверены, что больше ничего не делали?

 

Не совсем понятно что значит "больше ничего не делали"?

 

У меня в opencart 3 так подключались файлы startup.php ну и дальше там framework.php со всеми классами для дальней работы с системными методами, импорт товаров. 

Сейчас же необходимо все это добро реализовать в OC 4 но тут при require_once startup.php в консоль возвращается код формы авторизации. 

Вот и вопрос как теперь в opencart 4 правильно подключать startup.php и дальше работать с системными методами обработки сущностей OC

Ссылка на комментарий
Поделиться на других сайтах


13.07.2022 в 22:46, Ever сказал:

Не совсем понятно что значит "больше ничего не делали"?

потому что вы показываете вход в админку, но ничего не говорите про ignore route

Ладно, может вы что-то делаете потом

можете посмотреть как работает cron
можно ли его использовать.
А свое расширение писать/собрать в extension
 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Да вот собственно, файл cli_tst.php во вложении положите его в корень OC 3 и обратитесь к нему php /../../cli_tst.php результат будет пустой - так и должно быть, и сделайте тоже самое в OC 4

cli_tst.php

Ссылка на комментарий
Поделиться на других сайтах


и что?
Вы имтируете админку, и получает форму логина..
 

Ссылка на комментарий
Поделиться на других сайтах

  • 4 месяца спустя...

Все привет! 

Схожая ситуация, необходимо запускать в php cli котроллер модуля с окружением OC 4 (системные модели админки и т.п.)

Для примера пробую загрузить контроллер модуля Аккаунт extension/opencart/module/account (для теста)

Скопировал и модифицировал framework.php в корневую директорию для своих нужд (см. вложение my_framework.php) но по непонятной для меня причине в строке 153

$result = $action->execute($registry, $args);

возвращается исключение:

 

Exception Object
(
    [message:protected] => Error: Could not call route extension/opencart/module/account!
    [string:Exception:private] =>
    [code:protected] => 0
    [file:protected] => X:\domains\opencart4011.loc\upload\system\engine\action.php
    [line:protected] => 75
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => C:\OpenServer\domains\opencart4011.loc\upload\my_framework.php
                    [line] => 153
                    [function] => execute
                    [class] => Opencart\System\Engine\Action
                    [type] => ->
                )

        )

    [previous:Exception:private] =>
)

 

то есть метод \Opencart\System\Engine\Action::execute не может подключить класс, почему так происходит?

my_framework.php

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.