Урок - Темизация комментариев в Drupal 7. Шаблон comment.tpl.php.

Главная » Курсы » Курс Drupal 7, Темизация для зайцев. » Урок - Темизация комментариев в Drupal 7. Шаблон comment.tpl.php.

Обучающий онлайн курс
Drupal 7, Темизация для зайцев.

Лицензия: Копирование запрещено.

Базовыми шаблонами для комментариев в Drupal 7 являются файлы comment.tpl.php и comment-wrapper.tpl.php. Оригинальный файлы comment.tpl.php и comment-wrapper.tpl.php находятся в ./modules/comment/comment.tpl.php и ./modules/comment/comment-wraper.tpl.php, соответсвенно.

В Drupal 7 шаблон comment.tpl.php отвечает за вывод отдельного комментария, а шаблон comment-wraper.tpl.php отвечает за вывод списка комментариев.

Для более гибкой темизации на уровне шаблонов модуль comment предоставляет несколько дополнительных шаблонов:

  • Шаблон комментария вида comment--<node_type>.tpl.php
    где
    <
    node_type> - тип материала для которого выводятся коментарии.

    Шаблон указаный в формате comment--<node_type>.tpl.php позволяет указать шаблон для всех комментариев принадлежащих к материалам указанного типа.

    Например:
    Шаблон comment--blog.tpl.php будет отвечать за шаблонизацию комментариев принадлежащих материалам типа "Запись блога".
    Шаблон comment--forum.tpl.php будет отвечать за шаблонизацию комментариев принадлежащих материалам типа "Форум".
    Шаблон comment--page.tpl.php будет отвечать за шаблонизацию комментариев принадлежащих материалам типа "Страница".
    Шаблон comment--poll.tpl.php будет отвечать за шаблонизацию комментариев принадлежащих "Опросу".
    Шаблон comment--story.tpl.php будет отвечать за шаблонизацию комментариев принадлежащих материалам типа "История".

Стандартные переменные шаблона comment.tpl.php:

  • $author - автор комментария.
  • $content - массив полей комментария.
  • $created - дата и время создания комментария.
  • $changed - дата и время последнего изменения комментария.
  • $new- если ИСТИНА, то комментарий новый.
  • $permalink - ссылка на комментарий.
  • $submitted - информация о публикации, содержит автора и время публикации.
  • $picture - аватар автора.
  • $signature - подпись автора.
  • $status - статус комментария. Может принимать значения: comment-published, comment-unpublished или comment-preview.
  • $title - заголовок комментария, в виде ссылки.
  • $classes, строка - CSS классы одной строкой, применяемые к комментарию. Можно использовать для стилизации, по умолчанию содержит следующие варианты:
    • comment - тип шаблона
    • comment-by-anonymous- комментарий неавторизованного пользователя.
    • comment-by-node-author - комментарий автора материала, к которому оставлен комментарий.
    • comment-preview - предпросмотр и редактирование комментария.
    • comment-unpublished - неопубликованный комментарий, видимый только для администратора.
    • comment-by-viewer - комментарий оставленный текущим пользователем (для авторизованных пользователей).
    • comment-new - комментарий оставленный после последнего визита (для авторизованных пользователей).
  • $title_prefix, массив - содержит текст для вывода перед заголовками.
  • $title_suffix, массив - содержит текст для вывода после заголовков.

Переменные шаблона comment.tpl.php используемые для связи:

  • $comment- комментарий.
  • $node- материал, к которому относится комментарий.

Прочие переменные шаблона comment.tpl.php:

  • $classes_array, массив - CSS классы.

 

Стандартные переменные шаблона comment-wrapper.tpl.php:

  • $content, массив - массив связанных данных материала. Используйте  render($content) для вывода всех данных или render($content['comment_form']) для вывода частей.
  • $classes, строка - CSS классы одной строкой, применяемые для контекстноых стилей. Для ищменения используйте переменную $classes_array в препроцессинге. Значение по умолчанию "comment-wrapper". Текущий тип шаблона "theming hook".
  • $title_prefix, массив - содержит данные для вывода перед заголовками.
  • $title_suffix, массив - содержит данные для вывода после заголовков.

Следующие переменные шаблона comment-wrapper.tpl.php предназначены для контекстной информации:

  • $node- материал, к которому относятся комментарии.

Константы шаблона comment-wrapper.tpl.php:

  • $display_mode - режим отображения комментариев:
    • COMMENT_MODE_FLAT - отображать списком.
    • COMMENT_MODE_THREADED - отображать деревом.

Прочие переменные шаблона comment-wrapper.tpl.php:

  • $classes_array, массив - CSS классов. Преобразуются в строку сохраняясь в $classes.