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()
Функция модуля, вам нужно удалить и переустановить его после