Необходимо вставить заголовок просматриваемой статьи в метку поля.
Поясню: Есть нода с заголовком "Half Life". Есть поле с меткой "Скриншоты". Необходимо чтобы выводилось: "Скриншоты Half Life".
Решил переопределить вывод метки в template.php
Нашел функции, определяющие вывод полей и их меток соответственно:
https://api.drupal.org/api/drupal/modules!field!field.module/function/th...
https://api.drupal.org/api/drupal/modules!field!field.module/function/te...
https://api.drupal.org/api/drupal/modules!field!field.module/function/te...
Попытался поменять функцию theme_field:
<?phpfunction theme_field($variables, $node) {
$variables['page_title'] = $node->title ;
$output = '';
// Render the label, if it's not hidden.
if (!$variables['label_hidden']) {
$output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] .' '. $variables['page_title'] .': </div>';
}
// Дальше все как в стандартной функции?>
Но, судя по всему, $variables['page_title'] оказывается пустой, в любом случае ничего не выводится.
Пробовал прописывать строчку:
<?php$variables['page_title'] = $node->title ;?>
в template_preprocess_field. Но результата так же не было.
Может у кого-нибудь есть идеи как реализовать?
Комментарии
field--field-name.tpl.php
Ага, а как вызвать в field--field-name.tpl.php заголовок текущей статьи?
Скриншоты <?php print $title;?> в node--TYPE.tpl
Вариант рабочий, но неудобный.
По сути требуется в функции function theme_field вызвать переменные $node. А этого не происходит (не понимаю почему).
$element['#object'] - нода
все доступные переменные тут - https://api.drupal.org/api/drupal/modules!field!theme!field.tpl.php/7
Сам отвечаю на свой вопрос. Правильно так: