На странице термина таксономии вывести в заголовок все дочерние термины

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

Аватар пользователя Augustus Augustus 26 декабря 2013 в 17:46

Есть страница термина таксономии, на которой выводится views. Нужно, чтобы в $title на странице (т.е. на самой странице в body, а не в тег title в head) выводился не только текущий термин таксономии, но и все (или хотя бы root) дочерние. Если с тегом title в head легко справляется модуль page titles, то тут я что-то запутался как сделать.

Комментарии

Аватар пользователя ArmRus ArmRus 26 декабря 2013 в 19:13

В файле template.php (который находится в папке текущей темы)

<?php function НАЗВАНИЕ-ТЕМЫ_preprocess_page(&$variables){
  if (
arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2)) { //тут можешь cвои условия писать
    
if ($childs taxonomy_get_children(arg(2))) {
      
$seperator ', '//Разделитель для title-ов
      
$title drupal_get_title();
      foreach (
$childs as $child) {
        
$title .= $seperator $child->name;
      }
    }
    
drupal_set_title($title);
  }
}
?>

если есть функция НАЗВАНИЕ-ТЕМЫ_preprocess_page(&$variables) то в конце этой функции допиши код который выше приведен после 1 строчки(за исключением последней строчки(со знаком "}")

Аватар пользователя Augustus Augustus 27 декабря 2013 в 16:23

Спасибо за такой быстрый ответ, да ещё с кодом! Я просто думал решение есть без его написания, но раз мне готовое дали, то отлично Smile

Аватар пользователя Augustus Augustus 3 января 2014 в 19:38

Хм, а код-то не работает. Ничего у меня не поменялось. Пробовал в условия писать путь из pathauto - тоже никаких изменений.

Аватар пользователя Augustus Augustus 29 апреля 2017 в 21:00

Подниму старую тему. Может мне кто-то кинуть ссылку на внятное объяснение, как настроить контекстные фильтры и связи, чтобы оттуда получить и название родителя (%1) и текущий термин (%2), на странице которого мы находимся. Оба термина есть в пути страницы, только написаны с использованием транслитерации.

Не уж то это такая невыполнимая на друпале задача - вменяемо настроить title и breadcrumbs?

Аватар пользователя Augustus Augustus 30 апреля 2017 в 12:15

Так а зачем городить представление внутри представления, если подстановка %1, %2 в контекстных фильтрах изначально и создана для решения моей ситуации. Я лишь прошу кинуть мне внятное объяснение (а ещё лучше объяснить здесь, многим пригодится потом), как их использовать. Я не могу добиться работы %2. Если %1 по TID легко вытаскивает из URL, то как со второй делается - я без понятия.

Аватар пользователя BatKor BatKor 30 апреля 2017 в 12:28

%1 и %2 это по моему аргумены контекстного фильтра. Они не несут задачи вывести родительские или дочерние термины. Вам ведь дали код для реслизации.