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

Шаблон Alysum 4.1 после установки (я ставил на сервер несколько сайтов с разными темами, сравнивал) обновился до 4.2, соответственно Модуль-слайдер pk_awshowcaseslider тоже обновился.
Внес изменения в файл pk_awshowcaseslider.php (в приложении). Модуль устанавливается, видится в iqitcontentcreator, но не выводится не на главной, не в iqitcontentcreator.
не знаю что в этом модуле особенного, но поставить можно все. Единственное, для работы модуля pk_awshowcaseslider нужен будет еще один модуль из этой темы pk_themesettings:D
Вот примерная последовательность действий: установил пустую престу, шаблон соответственно по дефолту. включил перекомпиляцию, отключил кеш.
1. Выдергиваем оба этих модуля из архива с шаблоном, получаем 2 папки pk_awshowcaseslider и pk_themesettings
2. Делаем из них zip архивы загружаем и устанавливаем. Идем в настройки модуля pk_themesetting / закладка HomePage / и ставим SHOW ну допустим в позиции hook_home_01
3. В файле header.tpl нашего шаблона в нужном месте добавляем код
Код:
{capture name='hook_home_01'}{hook h='hook_home_01'}{/capture}
{if $smarty.capture.hook_home_01}
     <div class="container">
          {$smarty.capture.hook_home_01}
     </div>
{/if}

Скрытое содержимое доступно для зарегистрированных пользователей!

Можно конечно без установки дополнительного модуля, но придется поковыряться подольше.
Но на мой взгляд, что так костыль, что иначе
 
не знаю что в этом модуле особенного, но поставить можно все. Единственное, для работы модуля pk_awshowcaseslider нужен будет еще один модуль из этой темы pk_themesettings:D
Вот примерная последовательность действий: установил пустую престу, шаблон соответственно по дефолту. включил перекомпиляцию, отключил кеш.
1. Выдергиваем оба этих модуля из архива с шаблоном, получаем 2 папки pk_awshowcaseslider и pk_themesettings
2. Делаем из них zip архивы загружаем и устанавливаем. Идем в настройки модуля pk_themesetting / закладка HomePage / и ставим SHOW ну допустим в позиции hook_home_01
3. В файле header.tpl нашего шаблона в нужном месте добавляем код
Код:
{capture name='hook_home_01'}{hook h='hook_home_01'}{/capture}
{if $smarty.capture.hook_home_01}
     <div class="container">
          {$smarty.capture.hook_home_01}
     </div>
{/if}


Можно конечно без установки дополнительного модуля, но придется поковыряться подольше.
Но на мой взгляд, что так костыль, что иначе
Модули установились. Код пробовал вставлять в несколько мест в файле header.tpl,
результат один: Для просмотра ссылки Войди или Зарегистрируйся
 
Да, модуль вывелся кривовато, но погасло все остальное. Для просмотра ссылки Войди или Зарегистрируйся

На 1 тестовом сайте, где все погасло кроме этого кривого слайдера, выглядело так: Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Да, модуль вывелся кривовато, но погасло все остальное. Для просмотра ссылки Войди или Зарегистрируйся

На 1 тестовом сайте, где все погасло кроме этого кривого слайдера, выглядело так: Для просмотра ссылки Войди или Зарегистрируйся

Поэтому я и говорю, что модуль завязан с конфигуратором шаблона, и разбираться с таким количеством переопределений и настроек просто бессмысленно. Там же в настройках модуля ThemeSetting на вкладке HomePage есть настройки вывода хуков на главной странице, попробуй включить вывод хука DisplayTopColumn и Homepage и посмотри какие хуки у тебя выводит твой шаблон WareHouse они тоже скорее всего отключены
 
Пробовал, ничего не меняется.

В модуле Revslider есть возможность создавать хуки (я так понял пользовательские), и потом этот Revslider можно вывести через модуль iqitcontentcreator. Были мысли попробовать также с модулем pk_awshowcaseslider можно сделать. iqitcontentcreator позволяет выбрать pk_awshowcaseslider в своих настройках, но не выводит на домашней. Для просмотра ссылки Войди или Зарегистрируйся
 
Еще один лайф хак. Не православный, конечно, но когда очень очень надо - можно вызывать любой хук модуля напрямую из любого места, например из шаблона smarty, главное передать корректные входные параметры.

Код:
<div class="side-links" class="clearfix">
   {Module::getInstanceByName("blockcms")->hookFooter([])}
</div>
 
Еще один лайф хак. Не православный, конечно, но когда очень очень надо - можно вызывать любой хук модуля напрямую из любого места, например из шаблона smarty, главное передать корректные входные параметры.

Код:
<div class="side-links" class="clearfix">
   {Module::getInstanceByName("blockcms")->hookFooter([])}
</div>


ох аккуратно так нужно

особенно кеширующиеся модули в хуках могут запутаться и дублирующиеся id объектов могут появляться :)
 
ох аккуратно так нужно

особенно кеширующиеся модули в хуках могут запутаться и дублирующиеся id объектов могут появляться :)
Теоретически могут, на практике пока проблем не было, как я уже написал - главное корректно передавать параметры :)
 
Назад
Сверху