Здравствуйте. Возник такой вопрос.
Добавляю в ноду дополнительный контент с помощью hook_node_view. Код примерно такой:
function MYMODULE_node_view($node, $view_mode, $langcode) {
if ($node->type == 'article' && $view_mode == 'full') {
$node->content['mycontent'] = array(
'#markup' => my_custom_function(),
'#weight' => 10,
);
}
}
function my_custom_function() {
// Здесь код функции
}
Контент то добавляется, но как передать в my_custom_function() значение поля из этой ноды?
Комментарии
$node->field_fieldname ?
Да вот я пробовал в hook_node_view выполнить:
$my_id = $node->field_myfield[LANGUAGE_NONE][0]['my_id'];
и затем подставить $my_id в my_custom_function(), но выдает ошибку:
Notice: Undefined variable: my_id in my_custom_function()
Что я делаю не так?
$node->field_get_items
Не передаёте аргумент в функцию
1. Не знал, спасибо что Вы подсказали.
2. Какой там тип поля? - Поле типа YouTube Video создано модулем YouTube Field. Собственно, мне нужно не само значение поля, нужен идентификатор ролика YouTube. Как Вы и говорите - смотрю Девелом. Девел говорит, что значение идентификатора можно извлечь из этого поля так:
<?php$node->field_video[LANGUAGE_NONE][0]['video_id']?>
Добавьте проверки:
Если все истинно - извлекайте свои значения.