Всем привет. Я уже немного времени изучаю друпал, но все же далек от идеала. И вообщем у меня есть такая проблемка. Есть тип материалов который выводится через свой модуль (в ноде есть страницы), и проблема в том что ключевики берутся с главной страницы, а описание берется одно для всех страниц ноды. Плюс таже проблема с title. В результате чего у меня куча дублей и ПС не очень любят такие сайты. Прошу подскажите какие хуки использовать что б переписать под свои нужды вышеописаные теги? На сайте установлен модуль meta tag но он ничего не изменяет, скорее всего как я понимаю из-за самописного модуля.
ПС. Надеюсь что правильно изложил ситуацию.
Комментарии
модуль metatags_quick
1. устанавливаем.
2. в настройках для модуля ставим поля, которые необходимы.
3. смотрим пример кода.
$meta_keywords = field_get_items('taxonomy_term', $term, 'meta_keywords');
field_view_value('taxonomy_term', $term, 'meta_keywords', $meta_keywords[0]);
$meta_description = field_get_items('taxonomy_term', $term, 'meta_description');
field_view_value('taxonomy_term', $term, 'meta_description', $meta_description[0]);
это как рабочий пример для кейвердов и дескрипшна. Там же, кстати, можно настроить что откуда тянуть (токенами, например).
---
пример для кастомного тайтла (не н1) ... в head в кастомном модуле
$title_h1 = 'title here';
$vars['head_title'] = $title_head;
}
для нод работает аналогично (как и вообще для любой сущности и НЕ сущности, если пое..мучаться).
п.с. я вам дал только удочку, ловить рыбку вы сами будете )
t1mm1, спасибо за совет. Буду ловить рыбку пока не поймаю
чтобы не забыть!
Модуль metatags_quick так и не использовал, ибо пользуюсь metatag. Вообщем я немного подшаманил и вот что получилось. Возможно кому нибуть тоже понадобится подобное решение)
Далее установка мета тегов:
<?php
$meta = array (
'#theme' => 'metatag',
'#tag' => 'meta',
'#id' => 'metatag_keywords',
'#name' => 'keywords',
'#value' => $key,
'#type' => 'html_tag',
);
drupal_add_html_head($meta, 'meta_keywords');
?>
Для description по аналогии с ключами.
Использовал стандартную функцию drupal_set_title(). Смену тайтла решил путём добавления в модуль строки:
<?php
drupal_set_title($title);
?>
Но осталась проблема функция заменяет все названия и то что на странице, а мне нужно что б только тайтл. Решил проблему с тем что б заменялся title в DOM страницы, без смены названия самого материала. Спасибо, t1mm1.
Исользовал хук:
<?php
function my_module_preprocess_html(&$vars) {
$vars['head_title'] = '$my_title';
}
?>