prestashop 1.4 Пересадка домашнего блока в новый крючок

Я пытаюсь переместить домой рекомендуемые продукты за пределы столбца div в "newdiv" следующим образом:

<header>
    hook header
</header> 
<container>
    <div central_column>
    .
    <!-- here is the featured products block -->
    .
    </div>
    <div right_column>
        hook right column
    </div>
</container>

<newdiv><--! here where i want to show featured products --></newdiv>

<footer>
    hook footer
</footer>

Для этого я отредактировал FrontController.php, добавив хук для отображения нижнего колонтитула ( 'HOOK_FEATURED_HOME' => Module::hookExec('homeFeatured')):

public function displayFooter()
    {

        if (!self::$initialized)
            $this->init();

        self::$smarty->assign(array(
            'HOOK_RIGHT_COLUMN' => Module::hookExec('rightColumn', array('cart' => self::$cart)),
            'HOOK_FEATURED_HOME' => Module::hookExec('homeFeatured'),
            'HOOK_FOOTER' => Module::hookExec('footer'),
            'content_only' => (int)(Tools::getValue('content_only'))));
        self::$smarty->display(_PS_THEME_DIR_.'footer.tpl');
        //live edit
        if (Tools::isSubmit('live_edit') AND $ad = Tools::getValue('ad') AND  (Tools::getValue('liveToken') == sha1(Tools::getValue('ad')._COOKIE_KEY_)))
    {
        self::$smarty->assign(array('ad' => $ad, 'live_edit' => true));
        self::$smarty->display(_PS_ALL_THEMES_DIR_.'live_edit.tpl');
    }
    else
        Tools::displayError();
}

к файлу footer.tpl я добавил хук:

           <!-- featured products -->
            {if $page_name == 'index'}
                <div id="homeFeatured">
                    {$HOOK_FEATURED_HOME}
                </div>
            {/if}

я добавил в БД

id     name           title                     descritption             position       live_edit

97    homeFeatured    Home Featured Products    NULL                     0                  0

В модуле /homefeatured/homefeatured.php я добавил:

function install()
    {
        if (!Configuration::updateValue('HOME_FEATURED_NBR', 8) OR !parent::install() OR !$this->registerHook('home') OR !$this->registerHook('homeFeatured'))
            return false;
        return true;
    }

и в конце урока

function homeFeatured($params)
    {
    //    return $this->hookHome($params);
        echo 'hook test';

    }

я не видел ничего в div newdiv.

когда я пытаюсь пересадить модуль на новый крючок в бэк-офисе, я получаю:

This module cannot be transplanted to this hook.

1 ответ

Решение

Оставьте решение в комментарии, но я напишу ответ на тот случай, если кому-то еще это понадобится:

Когда вы редактируете install() Функция модуля, вам нужно удалить и переустановить его после

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