Thématisation liens de noeud dans Drupal 6
-
26-09-2019 - |
Question
Par défaut, les liens de nœud dans la page de blog contient blog_usernames_blog
(blog de admin), comment_add
(Ajouter un commentaire) et node_read_more
(En savoir plus).
Je dois me débarrasser de la première 2 d'entre eux, et de modifier le texte node_read_more.
J'ai créé une fonction nommée $themenamepreprocess_node
dans template.php dans mon thème, avec ce contenu:
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-->";
}
Mais cela ne fonctionne pas; quand j'imprimer la $vars['node']->links
à la fin des fonctions, le tableau de liens est exactement comme je le veux; mais lorsque la page est rendue, les anciens liens par défaut sont montrées.
Pourquoi? Comment puis-je thème les liens de nœud seulement pour certains type de contenu et uniquement dans la page de la liste des noeuds, avec des fonctions thématisation?
p.s: i effacé le cache et le registre de thème avant chaque essai;)
La solution
Tout d'abord: vous devez tester le $ crochet, sinon cette fonction prétraiter sera appelée sur chaque lieu. Il apportera à votre site vers le bas, même si vous avez un petit site sur un grand serveur.
Deuxième:. Si le print_r, imprime les liens corrects, puis pour que le code / est / RAN, pas besoin d'inquiétude au sujet du registre thématique
Maintenant, vous êtes probablement à la recherche au mauvais thème raccroché. theme_links est ce que vous voulez. 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']);
}
}