Отсутствует параметр $ template в prestashop 1.7.6 при рендеринге из ловушки - PullRequest
0 голосов
/ 14 апреля 2020

Я использую Prestashop 1.7.6.4. Я хочу сделать шаблон в крючке. Я делаю это с помощью следующего кода:

class MyModuleName extends PaymentModule
{

    public function hookActionValidateOrder($params)
    {
        /**
         * Verify if this module is enabled
         */
        if (!$this->active) {
            return;
        }

        if (Configuration::get('inline')) {
            $this->context->smarty->assign([
                'module' => $order->module
            ]);

            return $this->display(__FILE__,
                'views/templates/hook/displayStatusOrder.tpl');

        }
        // more code goes here
    }

}

Обратите внимание, что я также пытался с

return $this->fetch('module:myModule/views/templates/hook/displayStatusOrder.tpl');

результаты такие же.

Однако я получаю следующую ошибку:

(1/1) SmartyException
0():Missing '$template' parameter

Я абсолютно уверен, что мой шаблон существует. И у него правильное имя.

Моя структура папок выглядит примерно так:

myModuleName
  views
    templates
      hook
        displayStatusOrder.tpl

Я попытался удалить кеш, переустановить модуль и т. Д. c и * c.

Я явно упускаю что-то очевидное. Любая помощь приветствуется.

1 Ответ

1 голос
/ 15 апреля 2020

hookActionValidateOrder - это хук действия, а не хук отображения, поэтому вы не можете отобразить шаблон.

Вам необходимо проверить в своем шаблоне, где вы хотите отобразить код, какие хуки доступны.

...