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>

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

 

There are 4 Comments

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

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

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

Пожалуйста!

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

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

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

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

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

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

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

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

Страницы

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

You must have Javascript enabled to use this form.