Файл «comment.tpl.php» является необязательным, но если вы хотите организовывать комментарии к свои записям или статьям на сайте, то данный файл вам необходим. Именно «comment.tpl.php» отвечает за вывод комментариев на сайте.
Вот так вывод представлен по умолчанию в Drupal 7:
- $title - заголовок коммента в виде ссылки
- $new - выводит сообщение, если комментарий новый
- $author - автор комментария. В зависимости от дизайна, может быть выведен как ссылкой, так и текстом
- $picture – вывод аватарки пользователя создавшего комментарий
- $content - содержимое комментария
- $signature - подпись пользователя
- $status - статус комментария.(опубликован, не опубликован, превью ) .Значения: comment-unpublished, comment-published или comment-preview
- $date - дата создания комментария. Выводится как: format_date($comment->timestamp, 'custom', 'j m'),где вместо j можно писать любой «php-формат» даты.
- $links - выводит ссылки комментария.
- $submitted - выводит на одной строке дату и автора комментария
Объекты:
- $comment - объект с абсолютно всем содержимым комментария
- $node - объект статьи, к которой относится комментарий
Комментарии (14)
Друпал 7. Для вывода даты без ссылки на комментарий нужно вставить код?:
Я вставила этот код, но почему то ничего не отображается.
Еще один вопрос. Я хочу добавить название статьи к "1 комментарий" который отображается вначале всех комментариев.
Сама попробовала добавить код:
, но заголовок статьи не отображается. Я хочу отобразилось так:
1 комментарий к Как готовить суп.
И после этого будут все комментарии этой статьи. Пожалуйста, посоветуйте, как это реализовать.
Здравствуйте! Может в друпал 7 нет такой возможности как в вордпресс? Я уже второй день не могу найти ответ на вопрос как отобразить Название статьи рядом с Началом комментов - 1 Комментарий к тут название статьи к которой относятся комментарии. Искала даже в англоязычном друпал, но не нашла ответ. Может я запрос не правильно давала? Если знаете ответ, пожалуйста, поделитесь. Спасибо.
В drupal есть всё, только разработка под Drupal строится в первую очередь на программном коде, хуках и модулях. В Drupal за вывод ноды и вывод комментариев отвечают два совершенно разных шаблонных файла, для ноды
для комментариев
если вы знаете PHP ООП, то наверняка должны догадываться,что для того, что воспользоваться объектом из другого файла (node.tpl.php) вам необходимо написать запрос до него из файла (comment.tpl.php). Вот здесь можно посмотреть как строиться ф-я. Если вам будет проще, то можете воспользоваться JS и тупо забирать заголовок из начала статьи и вставлять перед первым комментом - но это не по правилам API Drupal.
Спасибо что ответили. Я конечно не хочу противоречить правилам Api Drupal, но с другой стороны, я не поняла как создать функцию, которая выводить название материала в начале комментариев. Там я нашла следующий код
, но не знаю как использовать его и куда что прописать. Не могли дать пример кода, который выведет название статьи.
заголовок можно вот так вывести
С помощью этого удалось вывести название статьи.Работает отлично. Я также попробовала сделать так:
чтобы вывести значение из поля Эксклюзивный рецепт. Но в данном случае, код не сработал.
То есть, значение поля field_exclusive_recipe тоже нужно отобразить в начале комментариев. Как это можно реализовать? Если возможно приведите пример.
Надеюсь, я не достала вас своими вопросами. Надеюсь на ваше понимание и поддержку. Спасибо.
и посмотреть какие методы(поля) доступны
Еще хотела узнать, как можно отобразить значение из field, а не title статьи? Это тоже там же.
Доброй ночи! скажите как отредактировать страницу редактирования комментария? пример comment/5/edit
А как вывести поле field_profile_city из профиля в comment.tpl.php ?
Чтобы под переменной author выводился город пользователя?
правильно через
и в нем через
вытащить все, что вам нужно.
не правильно определить глобальную переменную внутри
Пробую делать через template_preprocess_comment()
function professional_theme_preprocess_comment(&$variables) {
$user = $variables['user'];
// Full load user
$user = user_load($user->uid);
// Now access your field
$city = field_get_items('user', $user, 'field_uzer_city');
if ($city) {
$variables['author_city'] = $city[0]['value'];
}
else {
$variables['author_city'] = '';
}
}
Выводит значение если поле текстовое, а если термин словаря, то не выводит
Пробую добавить
Не получается, ничего не выводит.
Добавил
Получил то, что нужно
Но выводит для автора ноды, а мне надо для автора коментария
Меняю
И ничего не получаю.
Получилось