Уведомление Opencart 2.3: Неопределенное свойство: Proxy:: имя_функции

Я работаю над Opencart 2.3, я установил новое расширение в систему и с тех пор получаю ошибку на странице описания товара во внешнем интерфейсе:

Неопределенное свойство: Proxy:: имя_функции**

Загруженное расширение находится в админке, страница описания продукта до установки нового расширения работала нормально.

Примечание. Расширение имеет файл vqmod, а в папке модификации есть файлы, связанные с расширением.


person Mike    schedule 28.12.2016    source источник
comment
Вы должны добавить свой код или хотя бы назвать расширение, если оно общедоступно. Однако, если этот вопрос не касается вашего кода, рассмотрите возможность его переноса на ServerFault @ SE.   -  person Anton Samsonov    schedule 28.12.2016
comment
название расширения бронирование и бронирование, расширение платное.   -  person Mike    schedule 28.12.2016
comment
@Mike Ваша проблема исправлена ​​или нет? Как вы это исправили? Я получаю это уведомление: Неопределенное свойство: Proxy::getTemplate vqmod/vqcache/vq2-catalog_model_checkout_order.php в строке 660. Не могли бы вы помочь мне исправить это :)   -  person Sandeep Pattanaik    schedule 09.03.2017


Ответы (2)


У меня было это. Моя проблема заключалась в том, что путь к моему расширению был

расширение\модуль\имя_здесь

но так как я только что обновил его с версии 1.5.6, в которой был модуль\имя_здесь. Я забыл изменить имя класса, чтобы оно соответствовало новому пути.

class Model**Extension**Modulename_here extends Model {

Отсутствует слово расширения. Ошибка действительно неясна, и только найдя ее на github, я понял, в чем заключалась моя ошибка.

person adudley    schedule 17.01.2017

Я столкнулся с этой проблемой на Live Server. Но дело в том, что я загрузил модуль и назвал его правильно. Но все равно это не пошло мне на пользу.

$this->load->model('catalog/product');
$this->model_catalog_product->addmyproducts($myproducts);

class Model**Extension**Modulename_here extends Model {

Чтобы обойти эту проблему, нужно было выяснить,
как работает архитектура в OpenCart Framework?
Следуйте приведенному ниже решению:

  • Найдите в каталоге Opencart /system/storage/modification/admin.
    Здесь вы сможете увидеть каталог MVC
  • В папке модификаций вы найдете все написанные на ней коды.
  • Вам нужно идентифицировать вызывающую часть модуля в модели, которая была определена или нет?
  • После идентификации вы увидите, что определения функции не существует, вот в чем причина!
  • Кроме того, если вы определите ту же функцию в каталоге /system/storage/modification/admin/.../..., вы никогда не увидите свойство Undefined: Proxy::module_name

Обновлять

Независимо от определенных функций, если есть две функции с одинаковым именем, вызываемые дважды в одном файле, возникает неоднозначность в модуле vqmod.

Например. Вызов метода getWarehouseDetails(), если он находится под index(), а другой в warehousedetails() в одном файле с двумя разными вызовами с двумя разными именами файлов при загрузке $this->load->model(../..);, вы получите

Примечание. Неопределенное свойство: Proxy::getWarehouseDetails в /var/www/html/bluemb/vqmod/vqcache/vq2system_storage_modification_system_engine_action.php в строке 51.

В приведенном ниже, например. getWarehouseDetails() вызывается в index(), а другой — в inventorydetails().

$this->load->model('tool/upload');
$warehouse_details = $this->model_tool_upload->getWarehouseDetails($seller_id);

$this->load->model('catalog/information');
$this->data['warehouse_details'] = $this->model_catalog_information->getWarehouseDetails($seller['seller_id']);
person Nɪsʜᴀɴᴛʜ ॐ    schedule 07.03.2018