Хуки - как с Вами работать? Помогите!

Действительно, с этими хуками все усложнили. Самому настраивать сложновато..
 
Есть модуль для работы с хуками, тольок платный на оф сайте
 
Тоже не против узнать название.
 
Модуль Hook Rule
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Ну допустим мы решили вставить блок поиска в другой хук

Добрый день.
Presta 1.6.1.2 & Warehouse 3.6.2
А как добавить модуль-слайдер pk_awshowcaseslider в тему Warehouse, точнее вывести его в нужном месте домашней страницы через модуль iqitcontentcreator. Сейчас вверху у меня стоит Revslider, а родной слайдер темы выведен через iqitcontentcreator. Вот пример с родным слайдером темы (simpleslideshow) добав слайдер.png
Сам модуль pk_awshowcaseslider устанавливается, но выбрать его в настройках iqitcontentcreator я не могу. В инструкции к теме показано вроде, как создать хук и вставить в него Revslider (это же тоже сторонний модуль, не темы). Но не совсем понял, для pk_awshowcaseslider это подойдет, или это только для Revslider метод? Или так можно любой модуль добавить?
Что нужно изменить в этом файле: pk_awshowcaseslider.php, чтобы этот модуль можно было вывести на домашней странице или через модуль iqitcontentcreator?
 

Вложения

  • pk_awshowcaseslider.php.txt
    26,5 KB · Просмотры: 3
Последнее редактирование:
Ну допустим мы решили вставить блок поиска в другой хук, раньше мы вносили изменения в файлы ядра модуля, т.е. /modules/blocksearch/blocksearch.php - соответсвенно если наш модуль обновлялся, то все изменения сделанные в нем терялись и он отваливался от добавленного нами хука. Теперь же функция override так же доступна и для модулей.
Создаем новый файл blocksearch.php в папке override, путь получится такой /override/modules/blocksearch/blocksearch.php
Обязательная структура (обертка для вашего кода)
Код:
<?php
if (!defined('_CAN_LOAD_FILES_'))
    exit;
class BlockSearchOverride extends BlockSearch
{

}

Регистрация нового хука displayTopSearch
Код:
    public function install()
    {
        if (!parent::install() || !$this->registerHook('displayTopSearch') )
            return false;
        return true;
    }

Повторение параметров вывода как у хука Top
Код:
    public function hookDisplayTopSearch($params)
    {
        return $this->hookTop($params);
    }

Весь код будет выглядеть так
Код:
<?php
if (!defined('_CAN_LOAD_FILES_'))
    exit;
class BlockSearchOverride extends BlockSearch
{
    public function install()
    {
        if (!parent::install() || !$this->registerHook('displayTopSearch') )
            return false;
        return true;
    }

    public function hookDisplayTopSearch($params)
    {
        return $this->hookTop($params);
    }
}
Оочень полезно. Теперь я могу наконец-то перемещать блоки где-угодно
 
Может еще покажете на примере как создавать на любом шаблоне свой хук.
 
Может еще покажете на примере как создавать на любом шаблоне свой хук.
Вцелом все оч подробно описано в третьем посте, поэтому если возникают сложности, надо разбирать их в каждом конкретном случае.
Что нужно изменить в этом файле: pk_awshowcaseslider.php
В приложенном файле ищем 2 метода
1. public function install() туда добавляем регистрацию нашего хука
2. public function hook...($params) здесь параметры вывода, но тут еще нужно разобраться с функцией $status
поэтому чтобы найти правильное решение, в каждом случае, желательно видеть весь код модуля и шаблона.

Выкладывайте все в соответствующих ветках, давайте ссылки и будем разбираться...
 
Добрый день, Вадим.

Вопрос поднимал Для просмотра ссылки Войди или Зарегистрируйся

Установлено Presta 1.6.1.2 & Warehouse 3.6.2 - Для просмотра ссылки Войди или Зарегистрируйся

Шаблоны Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся взяты с ветки о шаблонах.

Шаблон Alysum 4.1 после установки (я ставил на сервер несколько сайтов с разными темами, сравнивал) обновился до 4.2, соответственно Модуль-слайдер pk_awshowcaseslider тоже обновился.
Внес изменения в файл pk_awshowcaseslider.php (в приложении). Модуль устанавливается, видится в iqitcontentcreator, но не выводится не на главной, не в iqitcontentcreator.

Собственно, пока все. Спасибо.
 

Вложения

  • pk_awshowcaseslider.php_new.txt
    26,3 KB · Просмотры: 3
Назад
Сверху