За расположение блока на странице отвечают хуки.
Hooks prestashop
Виталий, я разобрался с тем, что модули выводятся через хуки. Проблема вот в чем:
1) Я создал собственный хук под названием headerCart
2) Расположил, не знаю пока верно или нет, его в шапке
{$HOOK_headerCart}
3) Через расположение модулей в админке он в мой созданный хук не перемещается, поэтому я залез в файл modules/blockcart/blockcart.php
4) Я вижу название хука в админке, и модуль расположен в хуке displayTop, но его нет в коде файла blockcart.php, там есть следующее:
public function hookTop($params)
{
$params['blockcart_top'] = true;
return $this->hookRightColumn($params);
}
public function hookDisplayNav($params)
{
$params['blockcart_top'] = true;
return $this->hookTop($params);
}
Я еще не совсем разобрался, но насколько я понимаю с первого взгляда, первый выводит blockcart_top в правой колонке, а второй в каком-то hookTop, который мне тоже не понятно за что отвечает.
Вот именно тут я не понимаю, как мне добавить функцию для вывода модуля blockcart в моем хуке headerCart.
Я перепробовал много вариантов, в том числе пытался менять код указанный выше на мой хук, и потом из раздела модулей делал сброс, чтобы изменения вступили в силу, но у меня либо ничего не происходило, либо фронтофис полностью переставал работать.
Вооот, я еще заметил только что в функции install есть какие-то registerHook.
public function install()
{
if (
parent::install() == false
|| $this->registerHook('top') == false
|| $this->registerHook('header') == false
|| $this->registerHook('actionCartListOverride') == false
|| Configuration::updateValue('PS_BLOCK_CART_AJAX', 1) == false
|| Configuration::updateValue('PS_BLOCK_CART_XSELL_LIMIT', 12) == false)
return false;
return true;
}
я впихнул в registerHook свой хук, в админке появилась теперь корзина в моем хуке, как теперь хук вывести?))