Drupal 7: Как изменить порядок выводимых элементов ноды

Благодаря удобной системе шаблонов Drupal 7, с помощью функций render() и hide(), очень легко определить порядок выводимых элементов.

По умолчанию контент выводится следующим образом:

<div>
  <h2>
    <a href="<?php print $node_url; ?>"><?php print $title; ?></a>
  </h2>
  <div class="content">
    <?php print render($content); ?>
  </div>
</div>

Следующий блок выведет изображение, содержащееся в ноде перед заголовком страницы:

<div>
// выводим 
  <?php print render($content['field_image']); ?>
  <h2>
    <a href="<?php print $node_url; ?>"><?php print $title; ?></a>
  </h2>
  <div class="content">
    <?php print render($content); ?>
  </div>
</div>

Что мы видим. Сначала выводтся только один элемент массива $content['field_image'], а затем весь массив $content.

Использование функции render() в Drupal 7 позволяет выводить элементы ноды в требуемом порядке, без необходимости беспокоиться про дублирование - если элемент раз выведен, второй раз он выводиться не будет.

 

There are 4 Comments

Спасибо за публикацию

Спасибо помог ваш совет один был вопрос как найти что за поле вернее его имя. Сделал так в node--blog.tpl.php вставил вот такое в самом верху

echo 'Debug: <br /><pre>';
print_r($content);
echo '</pre>';

Далее нашел элемент массива и вывел его вашим советом.

еще лучше использовать модуль devel

Пожалуйста!

Для большего удобства отладки, утановите модуль devel, очень полезная штука. После его включения, достаточно вместо print_r($content); выполнить dpm($content); и массив будет выведен в более удобном для чтения формате.

Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.

ссылка на изображение

Помогите пожалуйста с проблемой:
есть модуль метатегс и в нем в материалах настраивается изображение которое будет браться при публикации ссылки в снипете социальных сетей.
Так вот для этого надо добавить какой то токен. если добавить стандартный [node:field_image] то он выводит все ссылки на картинки, притом без использования стилей с вотермарками.
А хочется что бы бралась первая и со стилями.

Смотрю в сторону модуля Custom Tokens - но пока не могу найти код который бы смог сформировать такую ссылку...

p.s. ц вас на сайте нехватает подписаться на комментарии. 

Насчет отображения всех

Насчет отображения всех изображений мне не удалось повторить вашу проблему, отображается ссылка только на одно изображение. Для вывода ссылки на изображение с применением стиля, вам следует установить модуль Imagecache Token.

П.С. Подписаться на ответы к коментариям можно, если вы зарегистрированы на сайте.

Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <s> <u> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <hr> <dd> <sub> <sup>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Защита от СПАМ ботов. Подтвердите, пожалуйста, что вы человек.
2 + 3 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.