Продукт администратора Prestashop 1.7 Hook не отображается

У меня есть модуль в Prestashop, который работает с версиями 1.6 и 1.7.

В версии 1.6 мне удалось вывести дополнительное поле на листе продукта в офисе бакок. Я хочу сделать то же самое для версии 1.7, но пока безуспешно ...

Я пытаюсь использовать крючок displayAdminProductsMainStepLeftColumnMiddle

мой контроллер модуля:

public function displayAdminProductsMainStepLeftColumnMiddle($params) {
    $product = new Product($params['id_product']);

    $this->context->smarty->assign(array(
        'id_product_jshop' => $product->id_product_jshop
        )
    );

    return $this->display(__FILE__, '/views/templates/1.7/admin/jshop.tpl');

Запись крючка

$this->registerHook('displayAdminProductsMainStepLeftColumnMiddle');

и мой взгляд:

<div class="m-b-1 m-t-1">
<h2>{l s='Custom Attribute from module' mod='jshopimport'}</h2>

<fieldset class="form-group">
<div class="col-lg-12 col-xl-4">

<label class="form-control-label">{l s='ID JSHOP' mod='jshopimport'}</label>
<input type="text" name="id_product_jshop" class="form-control" {if $id_product_jshop && $id_product_jshop != ''}value="{$id_product_jshop}"{/if}/>

</div>
</fieldset>

<div class="clearfix"></div>
</div>

Вы представляете, что не так?


person user1450740    schedule 19.11.2018    source источник


Ответы (2)


Функция должна начинаться с "крючка" и

public function hookDisplayAdminProductsMainStepLeftColumnMiddle($params)

а потом вы регистрируетесь без крючка

$this->registerHook('displayAdminProductsMainStepLeftColumnMiddle');
person Gabriele Carbonai    schedule 23.11.2018
comment
после этого попробуйте зайти на страницу вашего модуля и сбросить его - person Gabriele Carbonai; 23.11.2018

Для информации обнаружил свою ошибку.

Прежде чем я закончил свою функцию установки:

$this->registerHook('displayAdminProductsMainStepLeftColumnMiddle'));

return parent::install();

С этим решением крючок не был зарегистрирован !!

Goot практика:

if (!parent::install()
        || !$this->registerHook('displayAdminProductsExtra')
        || !$this->registerHook('displayAdminProductsMainStepLeftColumnMiddle')) {
            return false;
    }

Важно сделать в первую очередь

parent::install()
person user1450740    schedule 26.11.2018