Поскольку у вас есть много требований, вам придется перейти с переопределением класса StoresController.php
.
Папка модуль должен выглядеть следующим образом:
/mymodule
/mymodule.php
/config.xml
/override
/controllers
/front
StoresController.php
/views
/templates
/front
stores.tpl
В StoresController.php
вам придется переопределить initContent()
:
<?php
class StoresController extends StoresControllerCore
{
/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
{
parent::initContent();
// here add any smarty variables you want
$this->setTemplate(_PS_MODULE_DIR_.'mymodule/views/templates/front/stores.tpl');
}
}
Теперь вы можете добавить столько переменных, сколько вы хотите в этом контроллере и заказной его шаблон в вашем собственном модуле.
Мы создаем переопределение в модуле, оно будет обрабатываться только один раз при установке. Если ваш модуль уже установлен, вам придется удалить его и снова установить. Затем ваш файл переопределения будет скопирован в корневую папку /override
.
Любые изменения, внесенные в ваше переопределение модуля, не будут отображаться в корневую папку переопределения. Поэтому вам придется удалять и устанавливать ваш модуль каждый раз, когда вы хотите внести изменения.
Поэтому я советую вам внести все свои изменения непосредственно в корневую папку переопределения, а когда вы закончите, скопируйте этот файл обратно в папку вашего модуля. И если вы не хотите удалять свой модуль и устанавливать его снова, чтобы объявить этот файл, вы можете поместить его прямо в папку корневого переопределения и удалить файл /cache/class_index.php
, чтобы Prestashop знал, что добавлены переопределения.
Если у вас есть какие-либо вопросы :)
Извините, моя версия prestashop 1.6.1.5. –
Какие функции вы хотели бы добавить? –
Если вы хотите добавить дополнительную информацию, процесс будет отличаться, если вы хотите изменить данные. –