デフォルトでは、ブログ ページのノード リンクには、blog_usernames_blog
(管理者のブログ)、comment_add
(新しいコメントを追加)、およびnode_read_more
(続きを読む) が含まれます。
最初の 2 つを取り除き、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: 試行するたびに、キャッシュとテーマ レジストリをクリアしました ;)