Développer avec RBS Change : recupérer la description d'une rubrique à un niveau -n

  • 44548.1

    05/10/2011 11:38


    Mathias
    Rang : Expert
    Bonjour,

    j'ai un peu de mal à parcourir l'arbre des rubriques parentes à ma page pour récupérer la description de la rubrique de niveau 0.

    Exemple d'arbre de rubriques :
    Rubrique A
    Ss rubrique A-1
    Ss rubrique A-1-1
    PAGE1: afficher ici la description de la rubrique A

    Rubrique B
    Ss rubrique A-1
    PAGE2 afficher ici la description de la rubrique B

    Ma démarche :
    J'utilise un block XHTMLTemplate (qui passe à la vue $this->getPage().
    Dans mon phptal j'essaye de faire qqchose comme suit :
    <h1 tal:content="page/getPersistentPage/getTopic/getDescriptionAsHtml"></h1>
    mais je ne vois pas comme aller au niveau 0, voir même pourquoi pas à un niveau N.

    Mes questions :
    1-Ma démarche est elle bonne ?
    2-Faut-il que j'étende le module website avec une fonction du type "getRootTopicDescriptionAsHtml" pour répondre à ce besoin précis ?
    3-D'autres suggestions d'implémentation ?

    Pour l'instant j'ai une solution de contournement "simple" qui consiste à afficher la méta description de la page, mais vous voyez bien les limites : info à éditer sur toutes les pages... et si je veux utiliser les meta description pour mon référencement je suis mort :)

    Merci pour vos conseils.

    Développe sous linux Ubuntu 12.04 LTS Desktop
    Projet ecommerce core 3.6.7
  • 44548.2 en réponse à 44548.1 écrit par Mathias

    11/10/2011 16:11


    Gaël Port
    Titre : Développeur RBS Change
    Rang : Expert
    Dans l'absolu c'est jouable dans le template :
    <div tal:define="currentPage context/getPersistentPage; rootTopic php: f_util_ArrayUtils::firstElement(currentPage.getDocumentService().getAncestorsOf(currentPage, 'modules_website/topic'))">${rootTopic/getDescriptionAsHtml}</div>
    Mais ça me semble un peu trop complexe pour du template. D'autant que le mot-clé php: est à utiliser avec modération (car on peut facilement obtenir une fatal error si on ne fait pas assez attention).


    Je conseillerais donc plutôt pour un tel cas de faire un bloc spécifique de quelques lignes qui récupère cette description et l'affiche. D'autant qu'avec un bloc spécifique vous pouvez très bien placer un paramètre permettant de définir le niveau ou même une logique plus complexe.
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1359 membres
Aucun membre connecté