Переменные файла node.tpl.php

29 Май 2008
Опубликовано VladSavitsky

Решение

Drupal 6

Оригинал: node.tpl.php, Drupal 6 API

Файл отвечает за отображение материала в полном виде или в списках.

Основные переменные

  • $title: Заголовок материала (без тэгов HTML).
  • $content: Содержимое материала. Полное оно или анонс зависит от состояния переменной $teaser.
  • $picture: Аватар или картинка пользователя выводимая из функции theme_user_picture().
  • $date: Отформатированная дата создания (если хотите отформатировать ее по другому функцией format_date(), применяйте переменную $created).
  • $links: Ссылки материала "Читать далее", "Добавить комментарий", и так далее выводимая из функции theme_links().
  • $name: Отформатированное имя автора материала выводимое из функции theme_user().
  • $node_url: Полный путь к странице материала.
  • $terms: Отформатированный список терминов таксономии материала выводимый из функции theme_links().
  • $submitted: отформатированная информация об авторе и времени создания материала выводимая из функции theme_node_submitted().

Дополнительные переменные

  • $node: Полный объект материала. Может содержать небезопасные данные.
  • $type: Тип материала, т. е. story, page, blog и т. д.
  • $comment_count: Число комментариев, добавленых к материалу.
  • $uid: Идентификатор ID автора материала.
  • $created: Время создания материала в формате Unix timestamp.
  • $zebra: Выводит значения "even" (четный) или "odd" (нечетный), которое показывает положение материала в списках и применяется для чередования полос в них.
  • $id: Позиция (порядковый номер) материала в списках.

Статусные переменные

  • $teaser: ИСТИНА для режима анонса.
  • $page: ИСТИНА для режима полного отображения.
  • $promote: ИСТИНА для статуса "отображать на главной".
  • $sticky: ИСТИНА для статуса "закреплять вверху списков".
  • $status: ИСТИНА для статуса "опубликовано".
  • $comment: Установки комментариев для материала: Отключено - 0. Только чтение - 1. Чтение/Запись - 2.
  • $readmore: ИСТИНА, если анонс материала не включает в себя все полное содержимое.
  • $is_front: ИСТИНА для главной страницы.
  • $logged_in: ИСТИНА для авторизованного пользователя.
  • $is_admin: ИСТИНА, если текущий пользователь является администратором.

Drupal 5

Оригинал: Node.tpl.php, Drupal theme developer's guide (v5 and earlier)

Этот шаблон используется для отображения материалов сайта, как в полном режиме, так и в режиме списка. Он может влиять только на вывод переменной $content.
Доступные переменные

$content - Полное содержимое материала, анонс в режиме списка.
$date - Отформатированная дата создания материала
$directory - Полный путь к каталогу текущей темы, например themes/garland или themes/garland/minelli.
$id - Идентификатор ID материала.
$is_front - ИСТИНА, если текущая страница является заглавной.
$links - Список ссылок данного материала.
$main (4.6) - ИСТИНА, если материал появляется в контексте списка подобном заглавной странице, где показываются только анонсы. Переменная недолго употребляется в версиях 4.7 и выше.
$name - Отформатированное имя автора со ссылкой.
$node (Объект) - Объект материала. Чтобы просмотреть все свойства текущего объекта $node вставьте в ваш файл node.tpl.php строчку кода print_r($node);
$node_url - Путь на страницу данного материала.
$page - ИСТИНА, если данный материал показывается на своей странице.
$picture - HTML-код аватара пользователя, если данная возможность включена.
$sticky - ИСТИНА, если статус материала «Закрепить вверху списков».
$submitted - HTML-код Автор и дата создания, если показ этой информации включен для этого типа материала.
$taxonomy (Массив) - Массив HTML-кода ссылок на термины таксономии данного материала.
$teaser - ИСТИНА, если материал отображается в виде анонса
$terms - HTML-код всех ссылок на термины таксономии данного материала.
$title - Заголовок материала.
$zebra - Значение, показывающее четный (even) или нечетный (odd) номер материала в списке.

Примечания

Как распечатать список всех доступных переменных?

Вывод массива переменных

print '<pre>';
print_r(get_defined_vars());
print '</pre>';

Вывод массива переменных с HTML-разметкой.

print '<pre>';
print htmlspecialchars(print_r(get_defined_vars(), TRUE), ENT_QUOTES);
print '</pre>';

Шаблон по умолчанию для версии 5.x

<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?> clear-block">

<?php print $picture ?>

<?php if ($page == 0): ?>
  <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>

  <div class="meta">
  <?php if ($submitted): ?>
    <span class="submitted"><?php print $submitted ?></span>
  <?php endif; ?>

  <?php if ($terms): ?>
    <span class="terms"><?php print $terms ?></span>
  <?php endif;?>
  </div>

  <div class="content">
    <?php print $content ?>
  </div>

<?php
  if ($links) {
    print $links;
  }
?>

</div>

Шаблон по умолчанию для версии 4.7

<div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
  <?php if ($page == 0): ?>
    <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
  <?php endif; ?>
  <?php print $picture ?>

  <div class="info"><?php print $submitted ?><span class="terms"><?php print $terms ?></span></div>
  <div class="content">
    <?php print $content ?>
  </div>
<?php if ($links): ?>

    <?php if ($picture): ?>
      <br class='clear' />
    <?php endif; ?>
    <div class="links"><?php print $links ?></div>
<?php endif; ?>
</div>

Использованные материалы

Node.tpl.php, список доступных переменных

Полезные ссылки

Авторы решений:
Версия Drupal:
 
 
 

RSS-лента новостей

Dries Buytaert по-русски
]]>Русский поиск Drupal]]>

Перенос сайта из Joomla в Drupal
Перенос сайта из WordPress в Drupal

]]> Drupal - это бесплатная система управления контентом с открытым исходным кодом ]]>