Введение: В системе управления контентом Drupal, файл node.tpl.php
является ключевым элементом для настройки отображения узлов (nodes). Этот файл предоставляет разработчикам мощный инструмент для контроля визуального представления контента на веб-сайте. В этой статье мы изучим основные переменные, доступные в node.tpl.php
, и как использовать их для настройки отображения узлов.
1. Открываем файл node.tpl.php:
- Расположение файла: Файл
node.tpl.php
обычно находится в теме вашего сайта в папке «templates» или «theme». Если его нет, можно создать собственный файл и поместить его в папку «templates» вашей темы.
2. Изучение Основных Переменных:
- $node: Это основная переменная, представляющая текущий узел. Содержит всю информацию о ноде, такую как заголовок, тело, автор, дата создания и другие поля.
phpCopy code
<?php print $node->title; ?> // Вывод заголовка узла
- $content: Эта переменная содержит контент узла, включая все поля и блоки.
phpCopy code
<?php print render($content['body']); ?> // Вывод тела узла
- $teaser: Если узел отображается в виде анонса, эта переменная содержит краткое содержание.
phpCopy code
<?php print render($teaser); ?> // Вывод краткого содержания
3. Дополнительные Переменные:
- $classes: Список классов для тега
<div>
обертки узла. Может быть использован для стилизации.
phpCopy code
<div class="<?php print $classes; ?>">
- $id: ID узла. Может быть полезен для уникальной идентификации узла.
phpCopy code
<div id="node-<?php print $id; ?>">
- $author: Информация об авторе узла, такая как имя пользователя.
phpCopy code
<?php print $author; ?>
4. Использование Условий и Циклов:
- if ($page): Позволяет определить, отображается ли узел на отдельной странице (полная версия) или в анонсе (страница просмотра списка).
phpCopy code
<?php if ($page): ?> // Код для полной версии узла <?php else: ?> // Код для анонса узла <?php endif; ?>
- foreach ($field_example as $item): Используется для обхода множественных значений полей (например, изображений).
phpCopy code
<?php foreach ($content['field_example'] as $item): ?> // Код для каждого значения поля <?php endforeach; ?>
5. Добавление Пользовательских Переменных:
- theme_preprocess_node(&$variables): Вы можете использовать функцию
theme_preprocess_node
в файлеtemplate.php
вашей темы для добавления собственных переменных.
phpCopy code
function YOUR_THEME_preprocess_node(&$variables) { $variables['custom_variable'] = 'Custom Value'; }
- В node.tpl.php: После добавления пользовательской переменной в
theme_preprocess_node
, вы можете использовать ее в файлеnode.tpl.php
.
phpCopy code
<?php print $custom_variable; ?>
Заключение: Переменные в файле node.tpl.php
предоставляют широкие возможности для кастомизации отображения узлов в Drupal. Это мощный инструмент для разработчиков, позволяющий создавать уникальные макеты и визуальные эффекты на вашем сайте. Пользуйтесь этими переменными с умом, чтобы сделать ваш сайт более индивидуальным и функциональным.