Получить значения мета-тегов (title, description) из Views для определенного термина

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

Аватар пользователя aaliseyko aaliseyko 1 апреля 2014 в 16:37

Имеем Views выводящий лого магазина (доп.поле для термина) и описание магазина (стандартное поле описания термина), название магазина - соответственно, сам термин.
С помощь модуля Metatag (ex.Node Words) задаются значения описаний: заголовки, описания, кеи.

Необходимо получить значения последнего из Views для задания альтов к логотипу.

Столкнулся с тем, что подобные поля отсутствуют в представлении - по крайней мере, для терминов. taxonomy_term_load() - так же не содержит ничего полезного. Попробовал тоже самое, через entity_wrapper - тут уже теплее, но не много. Все, что я смог получить это 'metatag' => 'true' (информативность впечатлила, но продвинуться дальше не помогла).

Нужна помощь. Спасибо.

Комментарии

Аватар пользователя VasyOK VasyOK 1 апреля 2014 в 17:01

Хотя вообще модуль Metatag для термина таксономии позволяет задать по умолчанию титл и дескрипшн для термина таксономии. Неужели не работает?

Если несколько клонированных вьюх от taxonomy term, можно сделать так:

http://www.drupal.ru/node/67320
Суть 2 вьюхи: пустая taxonomy term + блок для продукции с

Taxonomy display - не нужен
Делал тут http://presents.kiev.ua/koshelki/koshelki-zhenskie

Аватар пользователя aaliseyko aaliseyko 1 апреля 2014 в 17:26

До смешного. Только что создал другую вьюшку (под другую задачу). В ней для того, что бы узнать алиас термина выполнил taxonomy_term_load(), через views_php и о чудо: массив данных термина содержит все что мене нужно. Правда, включая токены, но - это не страшно.

Вопрос, почему тогда нет всего этого в той вьюшке, где оно мне нужно?

"VasyOK" wrote:
Хотя вообще модуль Metatag для термина таксономии позволяет задать по умолчанию титл и дескрипшн для термина таксономии. Неужели не работает?

Почему не работает? Я через него все это и задаю. Задача: получить эти данные в представлении, а не задать их. И, да, затем это представление подрубается как вид для термина, через taxonomy_display.

В целом, похоже, можно и без запроса к БД. Буду еще пробовать, раз так.

Аватар пользователя VasyOK VasyOK 1 апреля 2014 в 17:47

"aaliseyko" wrote:
И, да, затем это представление подрубается как вид для термина, через taxonomy_display.

Если как я советую, то нафиг этот модуль

Аватар пользователя aaliseyko aaliseyko 1 апреля 2014 в 18:01

Вьюхи не от taxonomy_term.

Значит так:
1. Если вьюшка чисто под таксономию (типа клона стандартной для термина или с типом представления "термин таксономии"), то views_php c содержимым типа:


<?php
$term 
taxonomy_term_load($data->tid);
debug($term);
?>

Покажет весь массив данных термина, включая метатеги.

2. В моем случае, таксономия (имя термина, опиания, поля) достаются через отношения "Термин таксономии: Материалы с термином" и в этом случае вышеозначенный код дает массив без метатегов. Сама вьюшка строит что-то глоссарие-подобное, вероятно, с этим связан такой черезпеньколодный подход.

Решил проблему написание запроса:


<?php 
$meta 
db_select('metatag''m')
  ->
fields('m', array('data'))
  ->
condition('m.entity_type''taxonomy_term')
  ->
condition('m.entity_id'$data->tid)
  ->
execute()
  ->
fetchField();

$meta unserialize($meta);

debug($meta);
?>