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] reverse related objects


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 [eZ Publish] reverse related objects
    Bonjour a tous,

    Mon probleme est le suivant :

    J'ai 2 classes : Artistes et Oeuvres.

    Dans mon template "artistes", je voudrais lister toutes les oeuvres en relation avec les artistes.

    Sachant que dans ma classe Oeuvres, jai creé une relation object avec les artistes en relations a cette oeuvre, je cherche a utiliser "reverse_related_objects" , pour pourvoir faire un affichage automatique dans le template artistes de ses oeuvres.

    Attention : je ne vx pas a avoir édité a chaque fois le relation object de la classe artiste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fetch( 'content', 'reverse_related_objects',
           hash( 'object_id',            object_id,
               [ 'attribute_identifier', attribute_identifier, ]
               [ 'all_relations',        boolean,              ]
               [ 'group_by_attribute',   boolean,              ]
               [ 'sort_by',              sort_by               ] ) )
    comment l'utiliser ?

    Merci

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Salut,

    ça doit être un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {def $oeuvres = fetch( 'content', 'reverse_related_objects', hash( 'object_id', $node.contentobject_id ) )}
     
    <ul>
    {foreach $oeuvres as $oeuvre}
        <li><a href={$oeuvre.url_alias|ezurl()}>{$oeuvre.name}</a></li>
    {/foreach}
    </ul>
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    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
    oki

    mais comment puis je faire si on considere que je joue etre 3 fiches , a b et c ?
    cadire que je vx remonté de c vers b et b vers a.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    {def $objects_lop=fetch( 'content', 'reverse_related_objects',
         hash( 'object_id', $node.contentobject_id,
                'attribute_identifier', 363) )}
     
    {foreach $objects_lop as $object}
        {def $objects_oeuvre=fetch( 'content', 'reverse_related_objects',
              hash( 'object_id', $object.contentobject_id,
                      'attribute_identifier', 361))}		
     
    	{$object.name|wash} <br />
     
          {foreach $objects_oeuvre as $object_oeu}
               {$object_oeu.name|wash} <br />
          {/foreach}
    {/foreach}
    En faisant $node.contentobject_id j'arrive a recupere l'id de l'article en cours, mais si je remonte dune fiche comment je fais pour recupere son id...j'ai testé $object.contentobject_id mais ca ne semble pas passer.......

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {def $type={attribute_view_gui attribute=$my_related_node.data_map.typelop}}
    {if eq( $type, 'Compositeur' )}
    Compo <br />
    {elseif eq( $type, 'Interprète' )}
    Inter <br />
    {else}
    Pas de type <br />
    {/if}
    Pourquoi cela ne marche pas ... ? je n' arrive pas a stocker dans $type la valeur

  5. #5
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Pour ton premier problème, pourquoi est-ce que tu utilises attribute_filter ? Avec ce paramètre tu risques de recevoir un eZContentObjectAttribute et plus un objet... Donc essaye déjà sans ce paramètre et regarde si le résultat retourné et ok.

    Pour ton deuxième problème, tu dois utiliser la définition ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {def $type = $my_related_node.data_map.typelop.content}
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  6. #6
    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 affichage
    merci pour ta réponse.

    Donc pour récapituler ce que je cherchais a obtenir , c'etait la liste des oeuvres creer par un artiste.
    J'ai rajouté le fait qu'il est été toi COmpositeur soit Interprete etc....( auteur..), cest a dire son type.

    au final voici ce que j'ai pondu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    {def $objects=fetch( 'content', 'reverse_related_objects',
    			       hash( 'object_id', $node.contentobject_id,
    					'attribute_identifier', 363,
    					'sort_by', array(array( 'name', true() )) ))}
     
    	{def $type='NULL'}
    	   {foreach $objects as $object}
    	      {def my_related_node=fetch('content','node',hash('node_id', $object.main_node_id))}
    		{if eq( $type, $my_related_node.data_map.typelop.content )}
    			pas de type <br />
    		{else}
    			{attribute_view_gui attribute=$my_related_node.data_map.typelop}
    			{set $type=$my_related_node.data_map.typelop.data_text}
    		{/if}
     
    	{def $objects_oeuvre=fetch( 'content', 'reverse_related_objects',
    						hash( 'object_id', $my_related_node.contentobject_id,
    							'attribute_identifier', 361) )}
    												{foreach $objects_oeuvre as $object_oeu}
        <a href={$object_oeu.url_alias|ezurl()}>{$object_oeu.name}</a><br />
    {/foreach}
    <br />
    {/foreach}
    {undef}

    ce qui me donne :

    Compositeur
    L’incoronazione di Dario

    Compositeur
    La petite pastorale

    Interprète
    Messe en si mineur

    Interprète
    Passion selon Saint Jean

    Interprète
    La petite pastorale
    Je n'arrive pas a avoir une affichage du style :

    Compositeur
    L’incoronazione di Dario
    La petite pastorale

    Interprète
    Messe en si mineur
    Passion selon Saint Jean
    La petite pastorale
    une astuces ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [eZ Publish] Relations Object with template
    Par marakud dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 22
    Dernier message: 30/04/2009, 10h58
  2. [DC] Reverse Engineering : problème de relations/liaisons
    Par nicocolt dans le forum Diagrammes de Classes
    Réponses: 14
    Dernier message: 19/03/2008, 09h14
  3. [eZ Publish] Afficher une image placé dans Related images
    Par clara2005 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 01/02/2008, 11h56
  4. [Objecteering] Reverse Engineering
    Par Maveric78f dans le forum Autres
    Réponses: 3
    Dernier message: 04/12/2006, 15h53

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