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;)

Était-ce utile?

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']);
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top