Размещение модуля корзины покупатели в собственном хуке

Автор alexshimov, 03 июня 2014, 18:25:17

« назад - далее »

alexshimov

Всем добрый день!

Сегодня во второй раз в жизни влез в PrestaShop, и наткнулся на такой вопрос.

Я создал собственный хук по названием headerCart. Добавил его в БД, добавил во фронтконтроллер, в админке он отображается. Мне теперь надо взять корзину покупателя (AJAX) и впихнуть ее в созданный мною HOOK, чтобы отображалась там, где мне это надо. Как это сделать? :)

Adik

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

alexshimov

А не подскажете что именно отвечает за расположение модуля? Я еще не успел разобраться со всем кодом.

Виталий

Cоздание интернет сайтов Webstudio UwK

alexshimov

#4
Цитата: Виталий от 04 июня 2014, 16:20:16
За расположение блока на странице отвечают хуки.
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 свой хук, в админке появилась теперь корзина в моем хуке, как теперь хук вывести?))

mAgency

Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

alexshimov

Все я уже добавил в модули registerHook и функции для отображения, и вывел через {hook h="headerCart"} . И все работает. Тема закрыта пожалуй.