默认情况下,博客页面中的节点链接包含blog_usernames_blog
(管理员的博客)、comment_add
(添加新评论)和node_read_more
(阅读更多)。
我需要摆脱前两个,并更改 node_read_more 中的文本。
我在我的主题中创建了一个名为$themenamepreprocess_node
template.php 的函数,内容如下:
function mytheme_preprocess_node(&$vars, $hook){
$node = $vars['node'];
//blog node, not in full node page
if($vars['node']->type == 'blog' AND !$vars['page']){
$vars['node']->links['node_read_more']['title'] = t('My custom read more here');
unset($vars['node']->links['blog_usernames_blog']);
unset($vars['node']->links['comment_add']);
}
//debug:
echo "<!-- DEBUG\n";
print_r($vars['node']->links);
echo "\n-->";
}
但它不起作用;当我$vars['node']->links
在函数的末尾打印时,链接数组正是我想要的;但是在呈现页面时,会显示旧的默认链接。
为什么?如何使用主题功能仅针对某些内容类型且仅在节点列表页面中为节点链接设置主题?
ps:每次尝试之前我都清除了缓存和主题注册表;)