Проблема с Opencart и VQMOD: не удалось загрузить контроллер в vq2-system_engine_controller.php

Я использую Opencart 1.5.6.1 и VQMOD 2.4.1. Я только что установил расширение eWay Rapid 3.0 и при оформлении заказа получаю эту ошибку:

Notice: Error: Could not load controller payment/eway! 
in (.....)\vqmod\vqcache\vq2-system_engine_controller.php on line 47

Строка 47: trigger_error('Error: Could not load controller ' . $child . '!');

Я не уверен, связано ли это с расширением VQMOD или eWay. Кто-нибудь знает, как это решить?


person user1448031    schedule 17.02.2014    source источник
comment
Вы проверили строку 47 в \vqmod\vqcache\vq2-system_engine_controller.php?   -  person Sankar V    schedule 17.02.2014
comment
Да, я только что обновил вопрос. Не уверен, почему он жалуется, что не может загрузить контроллер.   -  person user1448031    schedule 17.02.2014
comment
У вас есть файл контроллера с именем eway.php в папке catalog/controller/payment?   -  person Sankar V    schedule 17.02.2014
comment
Вы пытались очистить кеш vqmod, а затем посмотреть, сохраняется ли проблема?   -  person Jonid Bendo    schedule 17.02.2014
comment
@JonidBendo Я уже пытался очистить все из папки vqcache. Это не помогает.   -  person user1448031    schedule 19.02.2014


Ответы (3)


Шаги, чтобы попробовать:

  1. Проверьте, есть ли у вас файл с именем eway.php в папке catalog/controller/payment.
  2. Проверьте имя класса этого файла: class ControllerPaymentEway extends Controller {.
  3. Проверьте разрешение файла.

Хорошего дня!!

person Sankar V    schedule 17.02.2014
comment
Там есть файл eway.php и имя класса class ControllerPaymentEway extends Controller {. Я использую Windows. Я предоставил полный доступ к этому файлу группе пользователей. Все равно не повезло. - person user1448031; 17.02.2014

Только что нашел решение этой проблемы, см. здесь.

Описанное решение:

В новой функции hasAction в system/engine/controller.php отсутствует глобальный $vqmod;

Изменить vqmod/xml/vqmod_opencart.xml

Для <file name="system/engine/controller.php">

Сдача:

<search position="before" index="1"><![CDATA[$vqmod->modCheck($action->getFile()]]></search>

В

<search position="before"><![CDATA[if (file_exists($vqmod->modCheck($action->getFile()))) {]]></search>
person Morgan Bunmi    schedule 17.02.2014
comment
Я использую последние версии OC 1.5.6.1 и VQMOD 2.4.1. Код нового vqmod отличается от того, что вы упомянули выше. Это примерно так: <search position="replace" regex="true"><![CDATA[~(require|include)(_once)?\(([^)]+)~]]></search><add><![CDATA[$1$2(VQMod::modCheck($3)]]></add> в файле vqmod/xml/vqmod_opencart.xml. Не уверен, что мне нужно внести какие-либо изменения там. Любое предложение? - person user1448031; 19.02.2014

У меня была та же ошибка, что и у вас на 1.5.6 и VQMOD 2.4.

Ошибка появилась из-за того, что я ранее установил более старую версию официального модуля eWay.

Эта старая версия модуля оставила папку в catalog\controller\payment\eWay folder.

Удалите этот eway subfolder, так как единственный файл eWay здесь должен быть catalog\controller\payment\eway.php

Похоже, что функция контроллера запуталась и попыталась загрузить папку вместо файла sway.php.

Это решило проблему для меня с использованием eWay Rapid 3.1 Transparent Direct Version.

Удачи!

Оливер

person Oliver Trako    schedule 20.02.2014
comment
Вот что я заметил: изначально я работал на локальном хосте, и ни одна из версий модуля eWay не работала. Затем я попробовал его на живом сайте, и eWay Rapid 3.0 и 3.1 работали на живом сайте. На локальном хосте eWay Rapid 3.0 выдал ошибку триггера, о которой я упоминал выше, а Rapid 3.1 выдал эту ошибку: POST Error: SSL certificate problem: self signed certificate in certificate chain URL: https://api.sandbox.ewaypayments.com/AccessCodes. Не уверен, что именно это такое - возможно, это потому, что на моем локальном хосте не установлен SSL? Мой живой сайт также не имеет SSL, но он не выдавал никаких ошибок. - person user1448031; 20.02.2014
comment
Он работал на живом сайте, и это нормально, но я до сих пор не могу понять, почему он никогда не работал на локальном хосте. Оливер, это работает на вашем локальном хосте? - person user1448031; 20.02.2014
comment
никогда не пробовал на нашем локальном хосте. простите. похоже, что ваш живой сайт может иметь общий ssl-сертификат хоста ... по памяти это было требованием, чтобы заставить работать eway. - person Oliver Trako; 14.05.2014