Опубликовано: 3 ноября 201411 г Ребят, выручайте. Задача стоит такая, нужно создать свой хук. Аналогичный "последним темам", создал. Данные приближенные к тем же, что и у другого хука.Так вот, я не пойму. А где мне прописывать тот самый php код? И потом нет его в правом блоке на гл странице форума...Короче ничего не понятно, выручайте.. Указал ключ, а где тот самый класс прописывать с данным ключем.. Один огромный геморой...
Опубликовано: 3 ноября 201411 г Так нужно создать новый хук, или изменить уже имеющийся? Тема про хуков обсуждалась здесь. Если в целом, то для вывода данных в сайдбаре создается хук типа "Хук шаблона" к группе шаблонов skin_boards, шаблон boardIndexTemplate, тип хука цикл foreach, ID хука side_blocks, расположение - перед началом цикла. В папке /hooks/ создается файл с названием хука и его классом которые прописываются в соответствующие поля при создания хука - Имя файла в директории хука и Имя класса. Сам класс из себя представляет класс с обязательным методом getOutput который и возвращает код сайдбара. <?php class sexy_hook { public $registry; public function __construct() { $this->registry = ipsRegistry::instance(); $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->lang = $this->registry->getClass('class_localization'); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); } public function getOutput() { /* Здесь тот самый php код */ return "SIDEBAR HTML"; } } ?>
Опубликовано: 3 ноября 201411 г Автор Вот те данные моего добавленного хука. Он в списке есть но в папке hooks, нет какого то php файла относящегося к данному хуку...
Опубликовано: 3 ноября 201411 г Вот те данные моего добавленного хука.При создание хука есть поля где нужно вводить имя файла и класса хука. В папке /hooks/ вы создаете файл с указанным именем и описанным выше для этого типа хуков класса.
Опубликовано: 3 ноября 201411 г Автор Хотя, посмотрел я в таблицу "core_hooks_files", название не то у данного файла contentTopicComment_e4eac9fe415c2ca2075159d893d00f91.php Тупик какой то, название у хука "Топ авторс". При чем тут коментс...
Опубликовано: 3 ноября 201411 г Автор Удалил хук, удалилась строчка в тб core_hooks. В таблице core_hooks_files,строчка осталась...hook_hook_id = 14, в таблице core_hooks нет данного хука с таким айди
Опубликовано: 3 ноября 201411 г Нет так нет, вас это не должно волновать какие там записи есть а какие нету. Вы вообще что делаете? И старайтесь внятно объяснить свои действия и цели.
Опубликовано: 3 ноября 201411 г Автор Извиняюсь , с айди напутал... Короче создал еще один хук, все ок...В таблице посмотрел имя файла (core_hooks ,core_hooks_files), такоета... (айди и тд верно)Смотрю в папку, не вижу php с данным именем... Мне нужно бы php код вписать, а файла такого нет..
Опубликовано: 3 ноября 201411 г Смотрю в папку, не вижу php с данным именем...В папке /hooks/ вы создаете файлПри следующих вопросов внимательно несколько раз перечитайте все выше сказанное.
Опубликовано: 3 ноября 201411 г Автор Ах, мне самостоятельно нужно создавать его :lol: Так создал, класс я указывал при первом добавлении 'informer'. Имя у хука тоже informerЗначит нужно прописать так <?php class informer { public $registry; public function __construct() { $this->registry = ipsRegistry::instance(); $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->lang = $this->registry->getClass('class_localization'); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); } public function getOutput() { /* Здесь тот самый php код */ return "SIDEBAR HTML"; } } ?> Сделал, не вижу сообщение в правом блоке.Я одного не понимаю, как функция getOutput вызывается. Где и кто ее вызывет?
Опубликовано: 3 ноября 201411 г Автор Ура, все работает. Видать еще расширение файла нужно было указывать...
Опубликовано: 3 ноября 201411 г Автор @siv1987, Спасибо :) Пардон, спама много. Хотел репутацию вам поднять, а оказывается еще раз пост создал.Непревычное расположение кнопок, да и порой кнопки не совм понятны..
Опубликовано: 3 ноября 201411 г Имя файла - полное имя файла вместе с расширением.Имя класса - имя своего класса в хуке.Если данные не выводится проверьте еще раз имя файла и имя класса. Чтобы отредактировать эти поля включите админку в режим разработчика, в conf_global.php добавить или заменить - define('IN_DEV', IN_ACP ? 1 : 0); Я одного не понимаю, как функция getOutput вызывается. Где и кто ее вызывет?Вызывается системой хуков.
Ребят, выручайте. Задача стоит такая, нужно создать свой хук. Аналогичный "последним темам", создал.
Данные приближенные к тем же, что и у другого хука.
Так вот, я не пойму. А где мне прописывать тот самый php код? И потом нет его в правом блоке на гл странице форума...
Короче ничего не понятно, выручайте..
Указал ключ, а где тот самый класс прописывать с данным ключем.. Один огромный геморой...