Клас на модул за автоматично зареждане в Prestashop

Създадох модул, който има заместване за класа FrontControllerCore за добавяне на допълнителни Smarty променливи.

Проблемът, с който се сблъсквам, е опит за автоматично зареждане на клас, който е посочен в контролера, който е в моя модул. Класът не се зарежда и не знам как да го добавя към автоматичното зареждане.


person kel    schedule 17.03.2015    source източник


Отговори (3)


Когато инсталирате модула, файлът FrontController.php трябва да се намира в: override\classes\controller\

така че от FrontController.php можете да "включите" ръчно този файл като:

require_once(dirname(__FILE__).'/../../../modules/servicecharges/classes/ServiceCharge.php');

Няма автоматично зареждане за такива включвания.

person PrestaShopDeveloper    schedule 18.03.2015

Също така можете да използвате този безплатен малък модул, който отменя автоматичното зареждане на Prestashop. След това целият персонализиран клас на вашия модул ще се зареди автоматично.

Примерен път: /modules/my_module/libs/classes/MyClass.php

Разширен API

person Simon Bonjean    schedule 13.04.2016

Успях да реша подобен проблем с автоматичното зареждане на Composer. Начин да изисквате автоматично зареждане в един файл на модул Prestashop?

Вместо да замените контролер (което води до конфликти с други добавки или инсталации на Prestashop, които вече използват същите замени), можете да извикате куката moduleRoutes.

По този начин можете да извиквате автоматичното зареждане винаги преди контролерите:

<?php

public function hookModuleRoutes() {
  require_once __DIR__.'/vendor/autoload.php'; // And the autoload here to make our Composer classes available everywhere!
}
person Dev_NIX    schedule 28.07.2016
comment
Добре дошли в Stack Overflow! Връзка към потенциално решение винаги е добре дошла, но моля, добавете контекст около връзката, така че другите ви потребители да имат малко идея какво е и защо е там. Винаги цитирайте най-подходящата част от важна връзка, в случай че целевият сайт е недостъпен или е офлайн за постоянно. Вземете предвид, че това, че е малко повече от връзка към външен сайт, е възможна причина за Защо и как някои отговори се изтриват?. - person ddb; 28.07.2016