В Drupal 6 была удобный хук "hook_nodeapi", в котором через метод 'load' можно было удобно проделать предварительные изменения на этапе загрузки.
То есть проблема такова: как изменить в Drupal 7 ноду на этапе загрузки, что бы она отобразилась уже с учетом изменений?
Нужен аналог для Drupal 7, в котором можно было бы изменить поля.
C hook_node_view не прокатывает - ноду меняешь, а её отображение не меняется.
Комментарии
Наверно Вы что-то не так делаете используя его часто , ( ->content ...),
Также можно использовать _node_view_alter( он следует за первым.
Осталься вообщем то и hook_node_load
См. node.api.php
* - hook_node_view() (all)
* - hook_entity_view() (all)
* - hook_node_view_alter() (all)
* - hook_entity_view_alter() (all)
Нет, не смог. Никак невозможно в этих хуках изменить отображение. У меня не вышло.
Там проблема в том, что внутри hook_node_load нельзя загрузить другие ноды стандартным hook_node_load_multiple - зависает. В этом была засада - рекурсия там.
Код в студию ?!
Да я в итоге через отдельные node_load сделал, что было несколько неудобно.
Вы просто попробуйте в этом хуке вызвать node_load_multiple - сразу завис. С этим и боролся, пока не разобрался, что к чему. В hook_node_view вообще бесполезняк, можете попробовать.
Вообще это ОЧЕНЬ ПЛОХО, что хук вызывает по умолчанию сам себя. Подобного бреда в 6-ке не было, nodeapi уже не мог ни при каких обстоятельствах вызваться из самого себя. В общем тут бреда навертели в 7-ке ИМХО.
Учитесь слушать и читать - он рабочий полостью.
Приведите пожалуйста рабочий код, с помощью которого можно менять выводимые данные в данном хуке. Конкретно - прикрепленные файлы. Я вот пробовал - у меня не вышло.
Зачем ? У меня работает - это у Вас не работает -вот Вы и публикуйте, если хотите чтобы Вам помогли.
Да я уже сделал давно через hook_node_load, вы что. У нас спор уже пошел теоретический. Я не смог изменить через views