2015-06-12 5 views
0

Мне нужно получить значения полей в 1 page.tpl.php на моем шаблоне template.php.Как получить значение поля из другого tpl в файле template.php для drupal 7?

Обычный способ получения поля в page.tpl.php является: $field = field_get_items('node', $node, 'field_name'); $field_name = field_view_value('node', $node, 'field_name', $field[0]);

page.tpl.php обычно находятся в «сайтах \ все \ Themes \ THEMENAME \ шаблоны» каталог

файл template.php находится в «сайтах \ всех \ Themes \ THEMENAME» каталог

Я должен тянуть значение поля в page.tpl.php в моей функции, расположенной в template.php.

Может ли кто-нибудь предложить подходящий способ сделать это или даже дать мне рабочее решение для этого?

ответ

0

Загрузите узел, который содержит нужное поле, с функцией node_load() и передайте этот узел в качестве параметра. Для этого вам нужен идентификатор узла, который может быть жестко закодирован или приобретен с представлением, собранным из url, cookie, сеанса или чего-то подобного.

0

Добавить функцию и в функции получить данные объекта узла, использовать модуль dsm для доступа к объекту и полю узла. затем присвоить это поле переменной, как этот $vars['new_var'] = $your_field

Очистить кэш и восстановить тему реестра и распечатать эту переменную в page.tpl.php как <?php print $new_var; ?>