Автор Тема: Разместить блок в центральной колонке  (Прочитано 2233 раз)

18 Апреля 2013, 12:47:49
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, каким образом можно разместить блоки "Новые товары" и "скидки"  в центральной колонке? Версия 1,5,4
18 Апреля 2013, 12:59:13
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 105581
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
Вывести блоки на главной можно с помощью хука hookDisplayHome().
Добавьте
$this->registerHook('displayHome')в функцию установки нужного модуля (для новых товаров blocknewproducts.php)
public function install()
{
и сам хук
public function hookDisplayHome($params)
{
//здесь код, можно взять из других хуков
// можно назначить новый шаблон
Cоздание интернет сайтов Webstudio UwK
18 Апреля 2013, 13:14:52
Ответ #2
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
мне нужно не только на главной, а на любой странице но в центральной колонке. Как это организовать?

И не понятно в каком именно месте вставлять
$this->registerHook('displayHome')
Исходный файл
public function install()
{
if (parent::install() == false || $this->registerHook('rightColumn') == false || $this->registerHook('header') == false || Configuration::updateValue('NEW_PRODUCTS_NBR', 5) == false)
return false;
return true;
}
18 Апреля 2013, 15:36:58
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Создать свой хук и поместить в шаблон  footer.tpl
.....
        {if !$content_only}
{$HOOK_MYHOOK}
</div>
В модулях добавить вывод в хуке MYHOOK.
Или же добавлять для каждого шаблона, для страницы продуктов в HOOK_PRODUCT_FOOTER и т.д.
18 Апреля 2013, 15:56:25
Ответ #4
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо, я попробую. Но на данный момент ответ похож на инструкцию по рисованию филина "нарисуйте кружочек, потом еще один, и быстро нарисуйте филина"
18 Апреля 2013, 16:39:37
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1254
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Создать свой хук и поместить в шаблон  footer.tpl
.....
        {if !$content_only}
{$HOOK_MYHOOK}
</div>
В модулях добавить вывод в хуке MYHOOK.
Или же добавлять для каждого шаблона, для страницы продуктов в HOOK_PRODUCT_FOOTER и т.д.
Это для тех кто знает. что-такое hook в prestashop
А кто не знает и не умеет программировать? Для тех
Цитировать
"нарисуйте кружочек, потом еще один, и быстро нарисуйте филина"
18 Апреля 2013, 16:46:58
Ответ #6
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А кто не знает и не умеет программировать? Для тех

Простите, а здесь форум только для тех кто умеет программировать? Что такое хук я знаю. Но как правильно его установить и как привязать к нему модуль я не знаю. Именно по этой причине я задал этот вопрос здесь
18 Апреля 2013, 16:50:49
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Это для тех кто знает. что-такое hook в prestashop.
А кто не знает и не умеет программировать? Для тех
В справке, что вы привели, есть подробное объяснение, что такое hook, какие hooks есть в prestashop. Как ими пользоваться.
Осталось только разработать логику модуля, его внутренний алгоритм, т.е. то, как модуль должен работать.
О чем я написал.
1. Создать свой хук в системе.
2. Определить место вывода блока, это шаблон footer.tpl, так как нужно выводить блок на всех страницах.
3. Привязать к хуку нужные блоки.
Что не понятно? Осталось все перевести в код.
Если нужно готовое решение, то есть ветка Работа. Заказывайте, сделают, в этом случае самому ничего делать не нужно.
18 Апреля 2013, 16:55:24
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1254
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Это для тех кто знает. что-такое hook в prestashop.
А кто не знает и не умеет программировать? Для тех
В справке, что вы привели, есть подробное объяснение, что такое hook, какие hooks есть в prestashop. Как ими пользоваться.
Осталось только разработать логику модуля, его внутренний алгоритм, т.е. то, как модуль должен работать.
О чем я написал.
1. Создать свой хук в системе.
2. Определить место вывода блока, это шаблон footer.tpl, так как нужно выводить блок на всех страницах.
3. Привязать к хуку нужные блоки.
Что не понятно? Осталось все перевести в код.
Если нужно готовое решение, то есть ветка Работа. Заказывайте, сделают, в этом случае самому ничего делать не нужно.
Никто не просит от вас полного решения. Давайте ответ с сылками на сайты где можно узнать, что и как нужно делать. Ваш ответ понятен только вам. 
18 Апреля 2013, 17:00:57
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ваш ответ понятен только вам.  Если не дано понять, то стоит попытаться поучиться программировать для prestashop.
18 Апреля 2013, 17:04:55
Ответ #10
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102470
  • Репутация: +34217/-0
    • Просмотр профиля
DarinSr,  Mr.Sen
Предупреждение, читайте правила форума.
В теме ответы только по существу заданного вопроса.
Не согласны с предложенным решением, предлагайте свое.
18 Апреля 2013, 17:09:13
Ответ #11
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ребят, я прошу прощения, но вразумительного ответа я так и не получил. Объясните пожалуйста как добавить хук, и как его привязать к модулю. Если же в данном форуме разрешено только давать расплывчатые ответы расчитанные на программистов и специалистов, то прошу прощения, но в таком случае непонятно зачем он нужен? Если бы я был программистом то не обращался бы со столь простой просьбой.
18 Апреля 2013, 17:18:10
Ответ #12
  • Фрилансер
  • *
  • Сообщений: 181
  • Репутация: +3/-0
  • Разработка и программирование сайтов
    • Просмотр профиля
    • Разработка и программирование сайтов
Ребят, я прошу прощения, но вразумительного ответа я так и не получил. Объясните пожалуйста как добавить хук, и как его привязать к модулю. Если же в данном форуме разрешено только давать расплывчатые ответы расчитанные на программистов и специалистов, то прошу прощения, но в таком случае непонятно зачем он нужен? Если бы я был программистом то не обращался бы со столь простой просьбой.
Чтобы создать свой хук в престе, придется научиться программировать
Также есть официальная документация на prestashop.com
Ну а если не хотите учиться, придется найти специалиста который поможет решить вашу проблему.
18 Апреля 2013, 17:27:25
Ответ #13
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А если без создания собственного хука? Первый ответ в теме решает вопрос, но в том случае вывод возможен только на главную, как сделать такое же но для центральной колонки?

P.S.
По ссылка что вы дали люди создают модуль, мне не нужен модуль, мне нужно стандартный модуль вывести в центральной колонке

P.P.S.
Мне кажется что я что-то не так объясняю.....
18 Апреля 2013, 17:32:47
Ответ #14
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102470
  • Репутация: +34217/-0
    • Просмотр профиля
Цитата: maggotische
Здравствуйте, каким образом можно разместить блоки "Новые товары" и "скидки"  в центральной колонке? Версия 1,5,4
Для размещения блоков в Prestashop 1.5  существует система хуков, front-office hooks, т.е. системой определены метки для того, чтобы была возможность динамически создавать страницы и менять структуру страниц так, как вам необходимо .
Для всех страниц действуют хуки позиционирования блоков:
displayHeader
displayTop
displayLeftColumn
displayRightColumn
displayFooter
displayHome
Готовой функции для вывода блоков в центре и на всех страницах нет.
Вам нужно создать такую фукнкцию (хук).
Можно вывести только на отдельных страницах.
Например, существует хук displayFooterProduct, который выводит код HTML в центре, внизу только на странице описания продукта.