Drupalの6中のノードのリンクをテーマ設定
-
26-09-2019 - |
質問
デフォルトでは、ブログページ内のノードリンクがblog_usernames_blog
(管理者のブログ)が含まれ、(もっと読む)comment_add
(新しいコメントを追加)し、node_read_more
ます。
私は彼らの最初の2を取り除くために、そしてnode_read_moreでテキストを変更する必要があります。
私はこのコンテンツで、私のテーマにtemplate.phpに$themenamepreprocess_node
という名前の関数を作成しました
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-->";
}
しかし、それは仕事をdoesntの。私は、関数の最後に$vars['node']->links
を印刷するとき、リンク列は、私はそれをしたいとまったく同じです。ページがレンダリングされるときには、古いデフォルトのリンクが示されている。
なぜ? どのようにすることができます私は単にいくつかのコンテンツタイプのみノードリストページ内のテーマノードリンク、テーマ設定機能付き?
p.s:私はすべて試してみる前に、キャッシュやテーマレジストリをクリア;)
解決
まず:あなたは、この前処理機能は、それぞれ、すべての場所に呼び出されます他、$フックにテストする必要がありますそれはあなたが大規模なサーバー上の小さなサイトを実行した場合でも、あなたのサイトをダウンさせるでしょう。
二:。しますprint_r場合は、必ずコード/で/ RAN、テーマレジストリを心配する必要のために、その後、正しいリンクを表示します。
さて、あなたはおそらく間違っテーマフックを見ています。 theme_linksは、あなたが望むだろうものです。 http://api.drupal.org/api/function/theme_links/5
function mytheme_preprocess_links(&$vars, $hook){
if ($hook == 'links') {
var_dump($vars);
unset($vars['links']['blog_usernames_blog']);
}
}