Отображать тип содержимого в пользовательском формате отображения


Я создал тип контента с именем "профиль", в котором есть поля Имя профиля, Изображение , сообщение , тело.

Он отображает в этом формате прикрепленное изображение_1 Default format of Drupal 7

Теперь как мы можем организовать или внести изменения в пользовательский формат, как показано ниже изображение image_2 как мы можем показать конечному пользователю

custom made profile

Author: Rafee, 2011-10-15

1 answers

Вы можете использовать node--NAMECONTENTTYPE.tpl.php в своем шаблоне каталога. Пожалуйста, ознакомьтесь с этой документацией и комментариями о шаблонах в Drupal 6 http://drupal.org/node/17565 , это даст вам руководство по распознаванию некоторых различий с Drupal 7.

Чтобы быть более подробным, вы можете скопировать/вставить в каталог вашей темы файл node.tpl.php (находится в modules > node или уже находится в каталоге вашей темы) и переименуйте его в соответствии с вашим типом контента. например, если тип контента Article имя будет node--article.tpl.php

Уже внутри в node--article.tpl.php вы можете увидеть переменную $content или вы можете использовать $node. $content (или $node) переменная содержит содержимое вашего узла. вы можете использовать print_r($content);, чтобы просмотреть список полей, которые вы можете использовать для своего узла (или, если вы используете модуль разработки, лучше всего использовать dsm($content);)

Смотрите этот пример:

У меня есть поле с именем field_demotext1, тогда это способ, который я могу использовать для вызова их соответствующего значения в любом пользовательском html зона расположения моего узла:

echo $content['field_demotext1']['#items'][0]['value'];

enter image description here

Вот пример зоны в node--article.tpl.php, где вы можете использовать пользовательский html:

  <div class="content clearfix"<?php print $content_attributes; ?>>
    <?php
      // We hide the comments and links now so that we can render them later.
      hide($content['comments']);
      hide($content['links']);
      //print render($content); comment to hide all content
      echo $content['field_demotext1']['#items'][0]['value']; //will only show field_demotext1 value
    ?>
  </div>
 4
Author: cigotete, 2011-10-15 14:37:38