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

18 Апрель 2013, 17:41:02
Ответ #15
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Готовой функции для вывода блоков в центре и на всех страницах нет.

Подскажите, а в какой хук, в таком случае, выводятся новости разделы категорий и т д? Я предполагаю что мне нужен тот же хук, просто я размещу нужный мне модуль над выводом новостей
18 Апрель 2013, 17:52:08
Ответ #16
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Узнать в каком месте может выводиться модуль / блок, можно в файле название_модуля.php
Для Блока Категории - это 3 основных хука displayHeader, displayLeftColumn, displayFooter.
Файл - /modules/blockcategories/blockcategories.php
// Определение хуков
public function install()
{
if (!parent::install() ||
!$this->registerHook('leftColumn') ||
!$this->registerHook('footer') ||
!$this->registerHook('header') ||
// Temporary hooks. Do NOT hook any module on it. Some CRUD hook will replace them as soon as possible.
!$this->registerHook('categoryAddition') ||
!$this->registerHook('categoryUpdate') ||
!$this->registerHook('categoryDeletion') ||
!$this->registerHook('actionAdminMetaControllerUpdate_optionsBefore') ||
!$this->registerHook('actionAdminLanguagesControllerStatusBefore') ||
!Configuration::updateValue('BLOCK_CATEG_MAX_DEPTH', 4) ||
!Configuration::updateValue('BLOCK_CATEG_DHTML', 1))
return false;
return true;
}
// Функция вывода блока
public function hookLeftColumn($params)
{
.....
}
....
18 Апрель 2013, 17:53:23
Ответ #17
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
понятно, спасибо, буду разбираться...
18 Апрель 2013, 18:10:51
Ответ #18
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Цитировать
Готовой функции для вывода блоков в центре и на всех страницах нет.
Вам нужно создать такую фукнкцию (хук).
Не обязательно создавать хук или модуль. Можно использовать то, что есть. Может так и не правльно с точки зрения разработчиков prestashop, но это не требует знания программирования на php.
На всех страницах работает метод:
public function hookFooter($params)
{
т.е. покажет любой блок внизу страницы. В шаблоне футера вывод блоков
<!-- Footer -->
<div id="footer" class="grid_9 alpha omega clearfix">
{$HOOK_FOOTER}
Меняем стили для блока footer, определям размер, позицию с помощью стилей.
В модуле который нужен, добавляем вывод с хуком displayFooter и шаблон TPL для показа в футере.
В админке размещаем наш модуль в футере в самом верху.

PS
Написать подробный код не предлагать :)
Просто как альтернативное решение.
Для нужного блока в футере можно задать абсолютное позиционирование, только не забыть выделить в центре место под этот блок.

PPS
Только для главной страницы, я уже писал на форуме как это сделать, на примере блока категорий.
Prestashop : Вывод категорий на главной
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
18 Апрель 2013, 18:21:14
Ответ #19
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
спасибо, идея понятна, попробую это использовать с хуком Top :)

Может так и не правльно с точки зрения разработчиков prestashop

Разработчики Prestashop могли бы и создать инструмент для простого добавления новых позиций для модулей :)