Автор Тема: Вывод модуля на определенной странице в определенном месте!  (Прочитано 136 раз)

11 Декабрь 2017, 09:33:44
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, недавно судьба меня свела с prestashop, не скажу, что я рад этому, но делать надо. Первостепенной задачей у меня было внедрение стороннего модуля написанного на php, я пытался его загружать через ajax, но потом столкнулся с проблемой пагинации. И решил что лучше создать модуль, который  будет подключать мой php скрипт, который тем самым будет отображать информацию в двух местах. Первое место это левый блок сайта, я нашел хук для этого, проблем с этим никаких нет, но вторая проблема заключается в том, что у меня есть страница с отзывами и я хочу чтобы только на этой странице были отзывы и они отображались в контенте. Интересное решение я видел в одном из плагинов, когда на нужной тебе странице ты просто пишешь {тут название плагина} и он выводит информацию туда. Как такое сделать.
11 Декабрь 2017, 11:22:20
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 15040
  • Репутация: +14588/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Prestashop: Как создать Hook
Вот тут написано как создать свой хук. Потом в любом шаблоне вставляете код
{hook h='myCustomHook'}и будет показан контент.
11 Декабрь 2017, 12:21:13
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 21412
  • Репутация: +25286/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
у меня есть страница с отзывами и я хочу чтобы только на этой странице были отзывы и они отображались в контенте.
{if $cms->id_cms == 'id страницы'}
    отзывы
{/if}
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
13 Декабрь 2017, 13:31:45
Ответ #3
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Благодарю, решил данную проблему, всё же погрузкой ajax с сервера и пагинацией через ajax. Но со своими хуками нифига не выходит! У меня есть стандартный модуль "Блок производителей" , который имеет несколько хуков так вот, я хочу чтобы этот модуль имел еще мой кастомный хук поэтому я открыл данный модуль и добавил туда свой хук manufacturersDark
public function install()
{

Configuration::updateValue('MANUFACTURER_DISPLAY_TEXT', true);
Configuration::updateValue('MANUFACTURER_DISPLAY_TEXT_NB', 5);
Configuration::updateValue('MANUFACTURER_DISPLAY_FORM', false);
$success = (parent::install() &&
$this->registerHook('header') &&
$this->registerHook('leftColumn') &&
$this->registerHook('manufacturersDark') &&
$this->registerHook('actionObjectManufacturerDeleteAfter') &&
$this->registerHook('actionObjectManufacturerAddAfter') &&
$this->registerHook('actionObjectManufacturerUpdateAfter')
); 
ниже я создал для него функцию , которая должна возвращать test на страницу
public function hookManufacturersDark($params)
{
echo 'test';

}
Далее я скопировал данный модуль, заархивировал и удалил с сайта и опять установил.. (ну на всякий) после чего на страницу где хочу чтобы выводилась test написал {hook h='manufacturersDark' mod='blockmanufacturer'} и сохранил... Пока я это писал я думаю что стоит в шаблоне вызывать этот хук, а не на странице))
13 Декабрь 2017, 13:33:22
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 15040
  • Репутация: +14588/-5
  • Сообщество PrestaShop
    • Просмотр профиля
13 Декабрь 2017, 13:50:20
Ответ #5
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
13 Декабрь 2017, 13:52:56
Ответ #6
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Также интересует момент, почему когда я в шаблон cms подключаю свои куски шаблона с помощью {include file="$tpl_dir./manufacturer-slider.tpl"} никаких изменений не происходит?*?
13 Декабрь 2017, 16:14:23
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22559
  • Репутация: +17130/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Также интересует момент, почему когда я в шаблон cms подключаю свои куски шаблона с помощью {include file="$tpl_dir./manufacturer-slider.tpl"} никаких изменений не происходит?*?
Потому что для manufacturer-slider.tpl не определены переменные в контроллере CmsController.php
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.