Приветствую сообщество!
Столкнулся с такой проблемой(вечное и прекрасное — URL алиасы для терминов таксономии)
Нужно было сделать примерно следующее:
Небольшой сайт, с разделом портфолио, в котором собраны работы компании. Все работы разбиты по категориям.
Пути для просмотра материалов должны были выглядеть примерно так:
www.example.com/portfolio — все работы с постраничным выводом
www.example.com/portfolio/flats — только работы по ремонту квартир
www.example.com/portfolio/offices — только работы по ремонту офисов
Всего категорий около 10.
Хотелось найти простой способ отобразить все это при помощи Views+Taxonomy. Решение нашел следующее...
Создаем словарь с необходимыми терминами(категориями). Для каждого термина задаем синоним(он будет URL алиасом для данного термина)
Создаем View(фильтр по типу материала + аргумент — term synonym). Все работет нормально, вот только есть одна проблемка... Есть термин «ремонт квартир»(синоним «flats»), по адресу www.example.com/portfolio/flats мы видим список нужных нам нод, но заголовок View при этом не «ремонт квартир» а значение аргумента, тоесть «flats».
Решается это следующим образом.
В заголовок View пишем код:
<?php
$ArrayOfPath = explode("/", $_GET['q']);
if (isset($ArrayOfPath[1])) {
$TermSynonymObject = taxonomy_get_synonym_root($ArrayOfPath[1]) ;
$TermNameObject = taxonomy_get_term($TermSynonymObject->tid) ;
drupal_set_title($TermNameObject->name) ;
}
?>
Данный код берет из текущего URL строку с синонимом, и по ней находит значение термина. Далее значение термина выводится в заголовок View.
И так, мы получили быстрый,простой, но далекий от совершенства способ использовать красивые URL при передаче View в качестве аргументов терминов таксономии. Теперь можно создавать термины и указывать для них URL алиасы(синонимы в настройках термина).
Всем спасибо за внимание. Может кому пригодится.
Комментарии
В заголовок View пишем код:
Это как?Я написал код в заголовок View
<?php
drupal_set_title('Pa-ram-pam-pa') ;
?>
Он и вывелся как код?
А какой формат ввода? Мне кажется, что должно быть — PHP...
А где задается формат ввода.
У меня получается только FullHTML.
views_customfield?
Идем в модули admin/build/modules, включаем PHP Filter. Далее заходим в свою вьюху и пробуем изменить заголовок(не название, а заголовок). При вводе заголовка можно будет указать формат ввода.
Спасибо.Так и знал что пробел в очевидном.
2rumzes а можешь по подробней описать? никак не могу заставить это работать
хочу сделать чтобы pathauto генерировал алиасы, а во вьюхе их использовать как аргумент,типа:
http://example.com/view-page/vocab-alias/term-alias