Дано:
Есть термины таксономии, у которых есть поле (текстовая строка).
Вопрос следующий.
Как во вьювсе, показывающем один термин, вывести вместо заголовка вьювса значение этого текстового поля? Скорее всего через контекстные фильтры, но уже всю голову сломал - не получается.
Заранее спасибо.
Комментарии
Пока что решил вопрос стилем H1 для поля.
Метатеги переопределил во вьювсе с подстановкой REPLACEMENT PATTERNS.
В настройках аргумента
Переопределить заголовок и там %1
Если сложно - можете сделать блок вьюху, которая выводит название термина или любое его поле.
Мне удалось таким образом вывести только ИМЯ термина, но не значение текстового поля, находящимся в термине.
Например, к термину с именем "Женские" можно добавить значение (дополнительного) поля (field_anytext) "колготки". Так вот в заголовок получается только Женские вывести (с помощью %1), а колготки никак (((
Дополнительный блок не решает проблемы с H1 и метатегом title.
Метатег можно задать отельно от views. На странице шаблонов метатегов можно же задать по умолчанию для термина и там токен поля поставить?
Для термина можно, но у меня ВЬЮВС типа термин.
и что?
Ну очевидно, что разница есть.
И подставить в метатеги паттерны — моё текущее решение в первом комменте.
Если ваш вьюс типа "содержимое", то чтобы увидеть другие поля, связанные с терминами таксономии, вам нужно соответствующую связь добавить в ваш вьюс.
Мой вьювс типа термин таксономии. Типа "материал" (node) на сайте вообще нет.
Тогда все поля термина и так должны быть доступны. Без всяких связей. Вы уверены, что их нет в списке полей?
Поля есть. Вопрос, как заменить заголовок страницы значением из таких полей? Желательно с метатегом title автоматом.
хуком можно.
<?php
/**
* Implements hook_views_pre_render
*/
function modulname_views_pre_render(&$view) {
if ($view->name == 'view_name' && $view->current_display == 'view_current_display') {
$view->build_info['title'] = $new_title;
}
}
?>
modulname, view_name и view_current_display замените на свои. И останется разобраться, как программно получить ваше поле ($new_title).
Можно, например, загрузить $term = taxonomy_term_load(id_термина);
Затем вывести dpm($term) (если у вас установлен devel) и посмотреть, как обратиться к нужному полю;
хотя нет. Это заменит заголовок на странице, но не заголовок страницы.