Вывод описания термина таксономии в заголовке Views

Главные вкладки

Аватар пользователя Funtik44 Funtik44 8 мая 2014 в 16:01

Для нод сайта существуют теги, при нажатии на какой-либо тег, я попадаю на страницу этого тега (выводится посредством views). На этой странице, мне необходимо вывести описание тега. Делаю следующее - открываю views, добавляю новое поле "(author) Taxonomy term: Term description", далее в разделе views HEADER добавляю "Global: Text area", после чего выбираю "Display even if view has no result" и "Use replacement tokens from the first row", формат текста - Full HTML, последним шагом добавляю токен:

"[description]"

С кавычками вместе. Вывод не работает, в чем может быть загвоздка?

PS Пробовал формат текста ставить "PHP code", не помогло.

Комментарии

Аватар пользователя whiesam whiesam 8 мая 2014 в 21:57

Создаем в подвале или шапке вьюшки текстовое поле с php filter и туда:


<?php if (!isset($_GET['page'])) {
$category =  taxonomy_term_load(arg(2));
echo 
"{$category->description}";
?>

По настроению можно обернуть в div!)

Аватар пользователя ksergey ksergey 17 февраля 2015 в 11:17

а какой будет код если термин переводится? (Localize. Terms are common for all languages, but their name and description may be localized.)
спасибо!

Аватар пользователя chimir chimir 10 ноября 2015 в 11:49

если поле "описание" у термина не скрыто во вкладке "Управление отображением" - то оно будет выводится на странице термина. Если необходимо именно в шапке вьюхи - выбираете текстовое поле или нефильтруемый текст, отмечаете "Использовать шаблон подстановки из первой строки" и станут доступны токены (Подстановочные шаблоны), вставляйте без кавычек

Аватар пользователя whiesam whiesam 9 мая 2014 в 11:09

"whiesam" wrote:
если поле "описание" у термина не скрыто во вкладке "Управление отображением" - то оно будет выводится на странице термина.

Это если через Taxonomy display выводится. А если просто подменой на вьюс, то описание не будет показываться.

Аватар пользователя Funtik44 Funtik44 12 мая 2014 в 17:44

"whiesam" wrote:
По настроению можно обернуть в div!)

Как вывести посредством php это я знаю, в данном случае невозможно перевести текст на другой язык (у меня двуязычный сайт). Мне интересно, как это сделать посредством токенов.

Аватар пользователя Funtik44 Funtik44 12 мая 2014 в 17:50

"chimir" wrote:
если поле "описание" у термина не скрыто во вкладке "Управление отображением" - то оно будет выводится на странице термина. Если необходимо именно в шапке вьюхи - выбираете текстовое поле или нефильтруемый текст, отмечаете "Использовать шаблон подстановки из первой строки" и станут доступны токены (Подстановочные шаблоны), вставляйте без кавычек

Поле "описание" у термина не скрыто во вкладке "Управление отображением", но оно не выводится на странице термина. В шапке вьюхи делаю всё тоже самое, что Вы написали, но по прежнему выводится сам токен, вместо описания.

PS Если выводить посредством php, то всё выводится.

Аватар пользователя whiesam whiesam 12 мая 2014 в 19:28

"Funtik44" wrote:
Поле "описание" у термина не скрыто во вкладке "Управление отображением", но оно не выводится на странице термина.

Епт для кого пишу сообщения на форуме я вообще хз.

Вы подменой вьюху выводите, т.е. не модулем taxonomy display? Если подменой, то нифига и не будет показываться. Модуль ставьте и через него.

Аватар пользователя Funtik44 Funtik44 12 мая 2014 в 23:52

"whiesam" wrote:
Епт для кого пишу сообщения на форуме я вообще хз.
Вы подменой вьюху выводите, т.е. не модулем taxonomy display? Если подменой, то нифига и не будет показываться. Модуль ставьте и через него.

Извиняюсь. Что значит подменой, не совсем понятно? И что значит модуль ставить через него?

Аватар пользователя whiesam whiesam 13 мая 2014 в 1:23

"Funtik44" wrote:
Извиняюсь. Что значит подменой, не совсем понятно? И что значит модуль ставить через него?

Вы выводите вьюсы вместо обычной страницы термина таксономии, так?
Это можно сделать 2мя способами:
1) Тупо настроить вьюс и в пути указать /taxonomy/term/% (или типа того, впадлу лезть смотреть). Таким макаром мы ПЕРЕЗАПИСЫВАЕМ вывод термина. С таким способо описание из "Управление отображением" термина выводится не будет.
2) Ставим модуль taxonomy display. Путь во вьюсе указываем (-), тупо дефис. И в "управление отображением", включаем "Страница термина" в настройках "Расширенные параметры отображения", после этого переходим в эту "Страницу термина" и там увидите настройки модуля taxonomy display, в нем укажите вашу вьюху. Таким образом все поля которые Вы поставите отображаться в режиме "Страница термина" будут выводит над вьюхой.

Я прям досконально описал, хз ещё чем помочь.

Аватар пользователя Funtik44 Funtik44 21 мая 2014 в 0:46

"whiesam" wrote:
Ставим модуль taxonomy display

Странно, а без дополнительного модуля нельзя обойтись при условии использовании Views, ведь именно во вьюхе и предлагается использовать токены, получается, что система предлагает ими воспользоваться, но не может?

Аватар пользователя whiesam whiesam 21 мая 2014 в 1:08

"Funtik44" wrote:
Странно, а без дополнительного модуля нельзя обойтись при условии использовании Views, ведь именно во вьюхе и предлагается использовать токены, получается, что система предлагает ими воспользоваться, но не может?

чего? Токены работают в самой вьюхе. Причем тут модуль подключения вьюхи в ноду?

Аватар пользователя Ch Ch 21 мая 2014 в 13:15

Если нужно без доп. модулей и php.
1. Создать доп. вьюху которая будет выводить описание данного термина по аргументу.
2. Подключить эту вьюху в шапку (Global: View area). В настройках отметить галку Inherit contextual filters.

Аватар пользователя Funtik44 Funtik44 22 мая 2014 в 7:21

В голову пришел еще один вариант, не знаю на сколько он реализуем, но на данный момент я вывожу описание термина посредством добавления в хедер text area и вывода там следующего кода:

<?php
$view = views_get_current_view();
if (is_numeric($view->args[0])){
  $term = taxonomy_term_load($view->args[0]);
  return $term->description;
}?>

Необходимо в этот код добавить не просто вывод описания, а проверку текущего языка и вывод либо обучного description либо локализованного?

PS Для терминов таксономии включена локализация.

Аватар пользователя animan animan 31 декабря 2014 в 3:07

Немного доработал код указаный выше. Если кому нужно что б ничего не выводилось (особенно если описание выводится в отдельном блоке) если описание пустое, то создавайте блок с содержанием:
<?php
$category = taxonomy_term_load(arg(2));
if ( iconv_strlen ($category->description) != 0 ) {
echo "

{$category->description}

";
} ?>