Détail du message 44117.2

Message numéro 2 dans le sujet Surcharge de "Sites et pages" ?.

  • 44117.2 en réponse à 44117.1 écrit par David Guillot

    30/09/2011 17:42


    Alexandre Simon
    Titre : Développeur RBS Change
    Rang : Expert
    Bonjour,

    Ajouter un flux RSS se fait assez facilement, avec la méthode addLink() de l'objet website_Page (qui n'est pas le document page mais une sorte de surcouche pour "la page en train d'être rendue") .

    Un bloc accède à cet objet avec la méthode getContext(). On peut imaginer un bloc en dur dans le gabarit de page, qui fait les ajouts en cherchant les flux là où c'est "cohérent de les chercher" pour le projet...

    Pour rajouter une propriété sur les pages et permettre de saisir ces flux depuis une page, on crée un document qui déclare cette propriété, hérite de page (module "website", document "page"), et qui "l'injecte" (attributs "extend" et "inject", Cf. http://wiki.rbschange.fr/ref:docs:declarer_un_document).

    Ensuite on surcharge le formulaire de page (override/modules/website/forms/editor/page/(create|properties).xml pour y placer la propriété.

    Vous pouvez créer une propriété de type texte puis faire un explode, ou bien créer une propriété de type "modules_rss/feed" par exemple.
    La deuxième option aurait l'avantage de déclarer le flux, de permettre de le ré-utiliser sur plusieurs pages, ...

    Dans ce scénario, le bloc placé dans le gabarit de page récupérerait le document page (website_Page->getPersistentDocument()) et la propriété ajoutée pour faire les addLink().

    En espérant avoir été clair ;)
 
1367 membres
Aucun membre connecté