[РЕШЕНО] Проблема с хуком "content_before_item" 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 159
Всем привет!

Создал в разрабатываемом компоненте хук "content_before_item".

Вношу изменения в поля, но изменения происходят только в том контенте, который установлен по умолчанию, если по-умолчанию не стоит не один контент, то изменения вообще нигде не происходят!

Подскажите, в чем может быть причина?
Посетитель
small user social cms
Медаль
Сообщений: 885
Вадим Нарочный:
если по-умолчанию не стоит не один контент
что значит "по-умолчанию"?

Если я правильно понял то хук вызывается перед просмотром страницы контента.
Ему передается массив с полями этого контента

Ни на какие другие страницы вы повлиять этим хуком не можете.


Или я что-то не так понял?... scratch
Украинский хостер с супер ценами и отличной техподдержкой
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1514
Вадим Нарочный,
Начнем сначала.
Хук content_before_item вызывается только в одном месте: в файле \system\controllers\content\actions\item_view.php
То есть срабатывать он будет только при просмотре одной записи типа контента.
Далее. Хук вызывается так:
Код PHP:
  1. list($ctype, $item, $fields) = cmsEventsManager::hook('content_before_item', array($ctype, $item, $fields));
И логически сам хук должен содержать что-то подобное:
Спойлер
Попробуйте посмотреть прямо в хуке, что туда прилетает и что улетает. К примеру так:
Код PHP:
  1. print_r($fields);
Редактировалось: 1 раз (Последний: 7 декабря 2017 в 11:14)
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 981
Много раз использовал хук content_before_item, никогда проблем не было, думаю ваш хук вообще не работает, так как к страницу списка не имеет отношение, а когда контент по умолчанию, вызывается хук content_before_list а не content_before_item.
Посмотрите в админке - компоненты - управление событием - возможно ваш хук ждет обновления
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
Медаль
Сообщений: 159
Sonat:
что значит "по-умолчанию"?
В админке "Тип контента по-умолчанию"

Evanescence:
думаю ваш хук вообще не работает, так как к страницу списка не имеет отношение, а когда контент по умолчанию, вызывается хук content_before_list а не content_before_item.
Хук работает только в контенте, который стоит по-умолчанию, о списке и речи не шло, все делается для шаблона item_view.php

Evanescence:
Посмотрите в админке - компоненты - управление событием - возможно ваш хук ждет обновления
Я же говорю, Хук работает только в контенте, который стоит по-умолчанию, а значит он в событиях обновлен!
Посетитель
small user social cms
Медаль
Сообщений: 159
Все, друзья, разобрался.
Я заменял $item['content'], а нужно было $fields['content']['html']
В начало страницы
Предыдущая темаПерейти на форум: