如何使用 Drupal 7.x 在“<head>”中添加内容?
How add something in "<head>" with Drupal 7.x?
我很怀疑...我添加内容的方式是否正确(例如 link 发布者 google plus,元标记或外部资源 css):
function mysubtheme_page_alter($page) {
$viewport = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'viewport',
'content' => 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no')
);
drupal_add_html_head($viewport, 'viewport');
$googleplus = array(
'#type' => 'html_tag',
'#tag' => 'link',
'#attributes' => array(
'href' => 'https://plus.google.com/+google-plus',
'rel' => 'publisher')
);
drupal_add_html_head($googleplus, 'googleplus');
$pinterest = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'p:domain_verify',
'content' => '7680eb52326ae9ee9e415d0ad')
);
drupal_add_html_head($pinterest, 'pinterest');
$fontawesome = array(
'#type' => 'html_tag',
'#tag' => 'link',
'#attributes' => array(
'href' => '/sites/font-awesome.min.css',
'rel' => 'stylesheet')
);
drupal_add_html_head($fontawesome, 'fontawesome');
}
我希望你能帮助我:)对不起我的英语
edit 我问这个也是因为这些是我的最新更改,现在我注意到如果我登录并看到我的网站 Firefox
没有 CSS!荒诞!
现在我有3种方法:
- 不正确如何在
head
中添加内容
- 发布 Firefox (44.0.2)
- 发布高级模块CSS/JS聚合
EDIT 2.0 这是 firefox 的问题(我重置了它,问题解决了)...但是我想知道这种方式是否可以添加 head
是对的 ;)
drupal_add_html_head 将输出添加到 HTML 页面的 HEAD 标记。只要未发送 headers,就可以调用此函数。
更多信息请访问 https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_add_html_head/7
我发现的最简单的方法是在我的 template.php
中删除以下内容
function THEMENAME_preprocess_html(&$variables) {
if(drupal_is_front_page()) {
$meta_description = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'description',
'content' => 'blah blah blah'
)
);
$meta_keywords = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'keywords',
'content' => 'some, keywords'
)
);
drupal_add_html_head( $meta_description, 'meta_description' );
//drupal_add_html_head( $meta_keywords, 'meta_keywords' );
drupal_add_html_head_link(array(
'rel' => 'publisher',
'href' => 'https://plus.google.com/xxxxxxxxx',
));
}
}
发布者仅在首页需要,因此 drupal_is_front_page
我很怀疑...我添加内容的方式是否正确(例如 link 发布者 google plus,元标记或外部资源 css):
function mysubtheme_page_alter($page) {
$viewport = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'viewport',
'content' => 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no')
);
drupal_add_html_head($viewport, 'viewport');
$googleplus = array(
'#type' => 'html_tag',
'#tag' => 'link',
'#attributes' => array(
'href' => 'https://plus.google.com/+google-plus',
'rel' => 'publisher')
);
drupal_add_html_head($googleplus, 'googleplus');
$pinterest = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'p:domain_verify',
'content' => '7680eb52326ae9ee9e415d0ad')
);
drupal_add_html_head($pinterest, 'pinterest');
$fontawesome = array(
'#type' => 'html_tag',
'#tag' => 'link',
'#attributes' => array(
'href' => '/sites/font-awesome.min.css',
'rel' => 'stylesheet')
);
drupal_add_html_head($fontawesome, 'fontawesome');
}
我希望你能帮助我:)对不起我的英语
edit 我问这个也是因为这些是我的最新更改,现在我注意到如果我登录并看到我的网站 Firefox
没有 CSS!荒诞!
现在我有3种方法:
- 不正确如何在
head
中添加内容
- 发布 Firefox (44.0.2)
- 发布高级模块CSS/JS聚合
EDIT 2.0 这是 firefox 的问题(我重置了它,问题解决了)...但是我想知道这种方式是否可以添加 head
是对的 ;)
drupal_add_html_head 将输出添加到 HTML 页面的 HEAD 标记。只要未发送 headers,就可以调用此函数。
更多信息请访问 https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_add_html_head/7
我发现的最简单的方法是在我的 template.php
中删除以下内容 function THEMENAME_preprocess_html(&$variables) {
if(drupal_is_front_page()) {
$meta_description = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'description',
'content' => 'blah blah blah'
)
);
$meta_keywords = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'keywords',
'content' => 'some, keywords'
)
);
drupal_add_html_head( $meta_description, 'meta_description' );
//drupal_add_html_head( $meta_keywords, 'meta_keywords' );
drupal_add_html_head_link(array(
'rel' => 'publisher',
'href' => 'https://plus.google.com/xxxxxxxxx',
));
}
}
发布者仅在首页需要,因此 drupal_is_front_page