Для нод сайта существуют теги, при нажатии на какой-либо тег, я попадаю на страницу этого тега (выводится посредством 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", не помогло.
Комментарии
Создаем в подвале или шапке вьюшки текстовое поле с php filter и туда:
<?php if (!isset($_GET['page'])) {
$category = taxonomy_term_load(arg(2));
echo "{$category->description}";
} ?>
По настроению можно обернуть в div!)
а какой будет код если термин переводится? (Localize. Terms are common for all languages, but their name and description may be localized.)
спасибо!
если поле "описание" у термина не скрыто во вкладке "Управление отображением" - то оно будет выводится на странице термина. Если необходимо именно в шапке вьюхи - выбираете текстовое поле или нефильтруемый текст, отмечаете "Использовать шаблон подстановки из первой строки" и станут доступны токены (Подстановочные шаблоны), вставляйте без кавычек
Это если через Taxonomy display выводится. А если просто подменой на вьюс, то описание не будет показываться.
Как вывести посредством php это я знаю, в данном случае невозможно перевести текст на другой язык (у меня двуязычный сайт). Мне интересно, как это сделать посредством токенов.
Поле "описание" у термина не скрыто во вкладке "Управление отображением", но оно не выводится на странице термина. В шапке вьюхи делаю всё тоже самое, что Вы написали, но по прежнему выводится сам токен, вместо описания.
PS Если выводить посредством php, то всё выводится.
Епт для кого пишу сообщения на форуме я вообще хз.
Вы подменой вьюху выводите, т.е. не модулем taxonomy display? Если подменой, то нифига и не будет показываться. Модуль ставьте и через него.
Извиняюсь. Что значит подменой, не совсем понятно? И что значит модуль ставить через него?
Вы выводите вьюсы вместо обычной страницы термина таксономии, так?
Это можно сделать 2мя способами:
1) Тупо настроить вьюс и в пути указать /taxonomy/term/% (или типа того, впадлу лезть смотреть). Таким макаром мы ПЕРЕЗАПИСЫВАЕМ вывод термина. С таким способо описание из "Управление отображением" термина выводится не будет.
2) Ставим модуль taxonomy display. Путь во вьюсе указываем (-), тупо дефис. И в "управление отображением", включаем "Страница термина" в настройках "Расширенные параметры отображения", после этого переходим в эту "Страницу термина" и там увидите настройки модуля taxonomy display, в нем укажите вашу вьюху. Таким образом все поля которые Вы поставите отображаться в режиме "Страница термина" будут выводит над вьюхой.
Я прям досконально описал, хз ещё чем помочь.
Странно, а без дополнительного модуля нельзя обойтись при условии использовании Views, ведь именно во вьюхе и предлагается использовать токены, получается, что система предлагает ими воспользоваться, но не может?
чего? Токены работают в самой вьюхе. Причем тут модуль подключения вьюхи в ноду?
Спасибо!
Если нужно без доп. модулей и php.
1. Создать доп. вьюху которая будет выводить описание данного термина по аргументу.
2. Подключить эту вьюху в шапку (Global: View area). В настройках отметить галку Inherit contextual filters.
В голову пришел еще один вариант, не знаю на сколько он реализуем, но на данный момент я вывожу описание термина посредством добавления в хедер text area и вывода там следующего кода:
$view = views_get_current_view();
if (is_numeric($view->args[0])){
$term = taxonomy_term_load($view->args[0]);
return $term->description;
}?>
Необходимо в этот код добавить не просто вывод описания, а проверку текущего языка и вывод либо обучного description либо локализованного?
PS Для терминов таксономии включена локализация.
Немного доработал код указаный выше. Если кому нужно что б ничего не выводилось (особенно если описание выводится в отдельном блоке) если описание пустое, то создавайте блок с содержанием:
<?php
$category = taxonomy_term_load(arg(2));
if ( iconv_strlen ($category->description) != 0 ) {
echo "
";
} ?>
А как изменить код чтобы выводить field_image?