IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

[eZ Publish] Relations Object with template


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Par défaut Bon usage du content_view_gui
    Bonjour à tous,

    l'erreur principale vient du mélange entre "objet" et "noeud". En effet, eZ Publish utilise ses 2 notions pour gérer son contenu.

    Petit rappel :
    Un objet représente une instance d'une classe telle que définie dans l'interface d'administration : un article par exemple.
    Les objets ne sont pas organisés entre eux. Ils sont stockés "à plat".

    Un noeud sert à mettre en place la structure arborescente de votre site. A chaque noeud, nous attacherons donc un objet et nous obtiendrons un arbre de contenus pour organiser notre site.

    Pourquoi ce système ?
    Cette organisation peut sembler un peu complexe mais elle est finalement très puissante. En effet, par cette division entre noeud et objets vous pouvez faire de la multipublication et ainsi avoir le même article dans plusieurs espaces de votre site sans jamais dupliquer l'information.

    *_view_gui
    Lorsque vous souhaitez visualiser un contenu (noeud, objet, attribut d'objet...) vous avez des fonctions utilitaires qui vont charger dynamiquement la template nécessaire en fonction du contexte (classe de l'objet, nature de l'attribut, object id, node id...).

    Les 3 principales fonctions étant :
    node_view_gui pour les noeuds
    content_view_gui pour les objets
    attribute_view_gui pour les attributs

    Les templates associées
    Pour node_view_gui, eZ Publish va chercher à charger la template node/view/<type de vue>.tpl. Le mécanisme d'override vous permettant de choisir la template chargée.

    Pour content_view_gui, c'est content content/view/<type de vue>.tpl.

    Pour attribute_view_gui, ce sera légèrement différent avec content/datatype/view/<type d'attribut>.tpl

    Dans le cas présenté
    Au final, dans le cas présenté :
    {content_view_gui content_object=$node.data_map.typelop.object view=full_lop}

    La règle d'override devra être de type
    [full_lop_lop]
    Source=content/view/full_lop.tpl
    MatchFile=content/full/full_lop_lop.tpl
    Subdir=templates
    Match[class_identifier]=lop

    Pour plus d'infos :
    http://ez.no/doc/ez_publish/technica...ntent_view_gui

    A noter
    Il ne faut pas oublier que lorsque vous utilisez les objets, vous n'avez plus de lien avec l'arborescence. $object.url_alias n'existe donc pas. Il faudra dans les templates de type content/view/<..>.tpl faire appel à $object.main_node.url_alias afin d'avoir l'URL de l'emplacement principal.

    A titre perso, je préfère toujours utiliser des node_view_gui afin de ne pas mélanger. Par contre les content_view_gui sont très utiles dans le cas de l'insertions d'objets (images, vidéos...) directement dans une zone de texte riche avec le online editor.

  2. #22
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    Bel Intervention !!

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut Merci
    Merci bcp pour ta réponse.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/04/2009, 14h07
  2. Réponses: 2
    Dernier message: 27/07/2007, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo