Использование полей ССК в качестве description Мета Тэгов

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

Аватар пользователя glu2006 glu2006 30 мая 2008 в 13:40

Недавно столкнулся с проблемой поставить описание из текста ноды в мета тэг. т.е. конечно многие используют модуль nodewords в принципе я тоже)) расскажу в двух словах суть проблемы:
1. Необходимо что-бы мета-тэг "description" для страниц сайта формировался автоматически (не из тизера или вариант когда тизер не используется при выводе ноды а переопределен).
2. модуль nodewords работает только со стандарным тизером, а писать описание для каждой страницы контента в предоставленное модулем поле нет никакого интереса)).
В моем случае это были 2500 тысячи книг и 120 категорий (кстати аналогичное я делал и для категорий, поскольку таксономи тоже не используется в силу его узконаправленности)) )

путь решения:
Создаем в ССК свое текстовое (я использовал, созданное мной поле краткая аннотация книги) поле для примера "my_meta" либо можем использовать любое существующее текстовое поле.
далее придется лезть в код Wink
открываем папку с модулем nodewords находим в ней файл description.inc в нем функцию nodewords_description_prepare(), и далее меняем следующую строку: "$value = $node->teaser;" на "$value = $node->field_my_meta[0]['value'];"

Это конечно как говорится "грязый" хак, но по другому добраться я например не смог, если у кого-то есть другие решения данной задачи готов выслушать.

Комментарии

Аватар пользователя glu2006 glu2006 2 июня 2008 в 10:44

player wrote:
Если честно не понял смысла в этом грязном хаке.

например у книги три поля с ее описанием:
1. основное body.
2. краткое описание (не тизер)
3. текстфилд просто содержание и я хочу добавить его в мета тэги, подскажите как это сделать без "грязного хака" ?

Аватар пользователя Arturus Arturus 1 июня 2008 в 9:59

Все гениальное - просто!!!
Странно, что в модуль nodewords не добавили функцию выбора произвольного поля в качестве вывода description

Аватар пользователя glu2006 glu2006 4 июня 2008 в 10:06

player wrote:
а вы не смотрели как это делает модуль nodewords?

В том то и дело что смотрел)) не работает он с полями ССК и перекрыть там вроде из theme функций нечего, могу ошибаться подскажите, может смотрел не тем редактором Wink или не под тем углом.

Аватар пользователя player player 5 июня 2008 в 12:16

Я то тоже не смотрел. Smile на превый взгляд могу помочь информацией для размышления.
Модуль nodewords имеет свой API и функционал его расширяется как я понял созданием .inc файла
есть еще drupal_set_html_head
Ну и напоследок http://drupal.org/node/101742