Как использовать загрузку узла в Drupal 7 для печати поля упомянутого узла? - PullRequest
0 голосов
/ 07 октября 2011

Я нахожусь в узле, я создал поле с помощью модуля «Ссылки», чтобы связать один тип контента с другим. Теперь ... 2 типа контента - это "ПРАКТИКА" (узел с заголовком, описанием и т. Д.) И "ТЕХНОЛОГИЯ", узел только с изображениями логотипа. Я хочу показать связанный логотип в узел - practice.tpl.php. Как я могу сделать это в DP7?

1 Ответ

0 голосов
/ 07 октября 2011

Я бы не стал делать это напрямую в файле шаблона, вместо этого вам лучше было бы реализовать hook_preprocess_node в файле template.php вашей темы, чтобы передать логотип (ы) в качестве переменной.Логика одинакова в любом случае:

function mytheme_preprocess_node(&$vars) {
  $node = $vars['node'];

  if ($node->type == 'practise') {
    $related_node_nid = $node->field_related_field_name['und'][0]['nid'];
    $related_node = node_load($related_node_nid);

    $logos = '';
    foreach ($related_node->field_logo_field_name['und'] as $img) {
      $logos .= theme('image', array('path' => $img['uri'], 'alt' => 'Alt text'));
    }
    $vars['related_logos'] = $logos;
  }
}

Тогда в вашем файле template.php будет переменная $logos, которая будет содержать список логотипов, созданных вами в функции preprocess.Очевидно, что вы можете подобрать HTML-код в соответствии с вашими потребностями, и вам нужно поменять правильные имена полей для field_related_field_name и field_logo_field_name.

...