Добавление обработчика хука
Добавление обработчика хука
Для переноса модуля в хук, обработчика которого в нем не существует ищем в основном файле модуля (называется так же как папка модуля) уже существующий обработчик. Например для blockadvertising.php это
function hookRightColumn($params) ...
Затем для клонирования обработчика в другой хук добавляем следующий код:
function hookFooter($params) { return $this->hookRightColumn($params); }
Тем самым мы создали обработчик хука в футере, который отображает то же, что и хук в правой колонке. Теперь идем в админку Модули/Позиции/Расположить модуль. В верхнем выпадающем списке выбираем свой модуль, в нижнем - только что созданный хук.
Если же нужно не только клонировать хук, но и изменить отображаемое содержимое, то копируем уже существующий обработчик хука полностью и изменяем в нем название шаблона:
function hookRightColumn($params) { global $smarty, $protocol_content, $server_host; $smarty->assign('image', $protocol_content.$this->adv_img); $smarty->assign('adv_link', $this->adv_link); return $this->display(__FILE__, 'blockadvertising1.tpl'); }
Затем копируем существующий шаблон blockadvertising.tpl как blockadvertising1.tpl и изменяем его по своему усмотрению. Остальные действия по расположению хука аналогичны алгоритму его клонирования.
Обсуждение
Наверно час пытался разобрать что здесь написано, ничего не понял. Неужто трудно написать, что создаем дубликат файла под другим именем в нем делаем то-то открывает другой фал в нем заменяем это на то, и все понятно. В этом описании ничего не понятно.
Думаю из за этого здесь нет ни одного комментария, так как никто ничего не понял.
Извините за критику уж поправили бы.
Никаких дубликатов не нужно делать. Тут написано как добавить модуль в хук, который он не поддерживает.
Тут все четко написано. Если не шариш нечего лесть в код ! Автору большое спасибо !!! Все четко и кратко написано.
Для этого хуки и придуманы, что бы меньше шарили, а больше платили….
впервые сегодня сел за престу, пока ничего не понимаю, а таких мануалов, чтобы все было разжевано - нет. Курим дальше
А у меня все получилось.
А где создавать эту функцию? в каком шаблоне?
Отличная статья. ИМХО надо сохранять исходники модуля, чтобы заменить php файлик, если напортачили)))
Здравствуйте, будьте добры подскажите, почти всё так и сделал, кроме как blockadvertising1.tpl никуда не копировал, а просто сохранил оригинал, и модуль «homeslider» нормально залез в хук «displayHeader» и заработал, единственное что его, т.е. модуль на сайте влево тянет? а надо по центру.. Как отцентровать?
«displayHeader» я так понял это типа футера, только сверху! ))