Установить шаблон из контроллера переопределения с помощью Prestashop 1.7

Я переопределил контроллер в Prestashop 1.7 следующим образом:

/override/controllers/front/MyAccountController.php

    class MyAccountController extends MyAccountControllerCore
    {


    /**
     * Assign template vars related to page content
     * @see FrontController::initContent()
     */
    public function initContent()
    {
        $this->context->smarty->assign([
            'logout_url' => $this->context->link->getPageLink('index', true, null, 'mylogout')
        ]);

        parent::initContent();
        $this->setTemplate("module:configurateur/views/templates/front/my-account.tpl");
    }
}

Поэтому я пытаюсь вызвать представление в моем пользовательском модуле "configurateur" с помощью этой строки:

 $this->setTemplate("module:configurateur/views/templates/front/my-account.tpl");

Этот файл существует и находится в правильной папке (я думаю):

\ модули \ configurateur \ вид \ Шаблоны \ фронт \ My-account.tpl

Когда я пытаюсь загрузить страницу, у меня появляется эта ошибка:

Шаблон для модуля не найден :configurateur/views/templates/front/my-account.tpl в строке 68 в файлах классов /Smarty/TemplateFinder.php

Может кто-нибудь сказать мне, что не так, пожалуйста?

1 ответ

Синтаксис "module:..." предназначен только для объектов ModuleFrontController, но не для FrontController:

В вашем случае вы должны использовать хук DisplayOverrideTemplate или перенаправить страницу myaccount на контроллер модуля.

Другие вопросы по тегам