Опубликовано в чт, 10/05/2012 - 16:54 |
Например, необходимо получить следующую запись
<meta name="keywords" content="{keywords}">
Пришлось применить при создании динамического шаблона страницы для Sape. В файле template.php создаем функцию preprocess_page($page):
function ВАША_ТЕМА_preprocess_page($page) { $meta_keywords = array( '#tag' => 'meta', '#attributes' => array( 'name' => 'keywords', 'content' => '{keywords}', ), ); drupal_add_html_head($meta_keywords, 'meta_keywords'); }
В 7 версии Друпала по умолчанию подставляется
<meta name="Generator" content="Drupal 7 (htt p: //drupal . org)" >
Один из способов от "этого" избавиться: в файле template.php создать функцию:
function ВАША_ТЕМА_html_head_alter(&$head_elements) { unset($head_elements['system_meta_generator']); }
Update 15.02.2014 Еще один вариант добавления тегов в модуле:
function ИМЯ_МОДУЛЯ_html_head_alter(&$head_elements) { $items = array( 'news' => array( 'link' => 'news.rss', 'title' => 'Новости на сайте sitename', ), 'articles' => array( 'link' => 'articles.rss', 'title' => 'Новые статьи на сайте sitename', ), 'blogs' => array( 'link' => 'blogs.rss', 'title' => 'Блоги на сайте sitename', ), 'events' => array( 'link' => 'events.rss', 'title' => 'Афиша на сайте sitename', ), ); foreach ($items as $name => $rss) { $head_elements['ij_main_rss_' . $name] = array( '#type' => 'html_tag', '#tag' => 'link', '#attributes' => array( 'rel' => 'alternate', 'type' => 'application/rss+xml', 'title' => $rss['title'], 'href' => url($rss['link'], array('absolute' => TRUE)), ), ); } } }
Результат:
<link rel="alternate" type="application/rss+xml" title="Афиша на сайте sitename" href="http //sitename.ru/events.rss" /> <link rel="alternate" type="application/rss+xml" title="Блоги на сайте sitename" href="http //sitename.ru/blogs.rss" /> <link rel="alternate" type="application/rss+xml" title="Новости на сайте sitename" href="http //sitename.ru/news.rss" /> <link rel="alternate" type="application/rss+xml" title="Новые статьи на сайте sitename" href="http //sitename.ru/articles.rss" />
Комментарии
Joчт, 27/09/2012 - 08:45 #1
Все сделала так как написано в этой статье, но к сожалению сайт вообще перестает отображаться, может я упустила помимо кода какие-нибудь важные нюансы...?
Frantsuzzzчт, 27/09/2012 - 09:38 #2
Напишите Ваш код, который Вы добавили в template.php. Так сложно что то сказать.
Joчт, 27/09/2012 - 10:12 #3
Я просто для теста поставила свою тему не меняя пока 'name' и 'content'
function theme677_preprocess_page($page) {
$meta_keywords = array(
'#tag' => 'meta',
'#attributes' => array(
'name' => 'keywords',
'content' => '{keywords}',
),
);
drupal_add_html_head($meta_keywords, 'meta_keywords');
}
function theme677_html_head_alter(&$head_elements) {
unset($head_elements['system_meta_generator']);
}
Frantsuzzzчт, 27/09/2012 - 11:53 #4
Попробуйте оставить только
Посмотрите, что будет. И проверьте, может в template.php уже есть функции theme677_html_head_alter или theme677_preprocess_page.
Добавить комментарий