如何以编程方式在drupal-7术语页面中添加rel next和previous?谷歌的重要性有多重要?
我的一些页面列在这里:
答案 0 :(得分:2)
作为一个模块我没有自己开发模块的解决方案。 我希望它可以帮到你
首先我们使用hook_preprocess_html 我检查了这个页面是否是一个术语页面
if (arg(0) == 'taxonomy' && arg(1) == 'term') {
然后使用页面参数和函数taxonomy_select_nodes,您可以找到您的页面以及下一页和prevoius页面的内容 但其中一个重要的是,
并且没有参数page = 1的页面,这是第一页
function your_theme_preprocess_html(&$variables) {
if (arg(0) == 'taxonomy' && arg(1) == 'term') {
$term = taxonomy_term_load(arg(2));
if( $_GET && $_GET['page'] && is_numeric(@$_GET['page']) ){
$prev = $_GET['page']-1;
$next = $_GET['page']+1;
$url = url('taxonomy/term/'.arg(2));
if( $_GET['page'] > 1 ){
$head_link = array(
'rel' => 'prev',
'href' => 'http://yourdomain.com'.$url.'?page='.$prev
);
drupal_add_html_head_link($head_link);
}
if( $_GET['page'] == 1 ){
$head_link = array(
'rel' => 'prev',
'href' => 'http://yourdomain.com'.$url
);
drupal_add_html_head_link($head_link);
}
$numbers = taxonomy_select_nodes( arg(2),true ,1000 );
if( count($numbers) > $next * 100 ){
$head_link = array(
'rel' => 'next',
'href' => 'http://yourdomain.com'.$url.'?page='.$next
);
drupal_add_html_head_link($head_link);
}
}
else {
$numbers = taxonomy_select_nodes( arg(2),true ,1000 );
if( count($numbers) > 100 ){
$url = url('taxonomy/term/'.arg(2));
$head_link = array(
'rel' => 'next',
'href' => 'http://yourdomain.com'.$url.'?page=1'
);
drupal_add_html_head_link($head_link);
}
}
}
}
这个函数taxonomy_select_nodes真的很棒,你给它一个术语的“tid”,它会告诉你如何用这个术语标记节点。
甚至可以使用hook_preprocess_html
将类添加到body在主题
中的template.php文件中写下所有这些代码