Распространённая ситуация — есть ноды, у нод есть теги. Для улучшения SEO, неплоха бы выводить эту информацию в мета-теге keywords.
Для решения задачи — создаём файл template.php в папке темы, если его ещё там нет. Добавляем туда функцию предварительной обработки страницы:
Drupal 6
function phptemplate_preprocess_page(&$vars) {
if (isset($vars['node']->taxonomy)) {
$keywords = array();
foreach ($vars['node']->taxonomy as $tag) {
$keywords[] = $tag->name;
}
if ($keywords) {
$vars['head'] = '<meta name="keywords" content="' . implode(', ', $keywords) . '" />' . "\n" . $vars['head'];
}
}
}
Drupal 7
function THEMENAME_preprocess_node(&$variables) {
if ($variables['view_mode'] == 'full' && node_is_page($variables['node'])) {
$keywords = array();
foreach (field_get_items('node', $variables['node'], 'field_tags') as $item) {
$keywords[] = check_plain($item['taxonomy_term']->name);
}
drupal_add_html_head(array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'keywords',
'content' => implode(', ', $keywords),
),
), 'meta_keywords');
}
}
Очищаем кэш.
Результат можно посмотреть в html коде этой страницы:
<meta name="keywords" content="drupal, seo, полезняшки, таксономия" />
Написанное актуально для
Drupal 6, Drupal 7