SEBLOD : récupérer d'autres champs d'un "article en relation"

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] SEBLOD : récupérer d'autres champs d'un "article en relation"

    Hello @all,

    Je travaille sur un site d'association de club de foot.
    Ce club à plusieurs équipes, selon les catégories d'âges.

    Ce site est conçu avec :
    Joomla v3.4
    SEBLOD

    Avec SEBLOD, j'ai créé 2 gabarits :
    EQUIPE
    JOUEUR

    Il y a donc un article pour chaque équipe et un article pour chaque joueur.
    L'idée étant que dans l'article équipe, s'affiche la liste des joueurs (avec des liens vers les articles des joueurs).

    Dans le concept, cela parait simple.
    Mais cela fait presque une dizaine de jours que je bloque sur ça.

    J'ai tenté par mal pas de méthodes, dont celle qui me paraissait la top du top :
    Un groupX qui appelle un template OFF qui lui meme utilise un article en relation
    Dans le template Equipe - Seblod, cela me fait plusieurs "foreach en php" (un pour les gardien, un pour les défenseurs...etc...), mais seul le premier foreach fonctionne, les autres déconnent (invalid argument)... comme si il ne pouvait pas gérer plusieurs foreach ?!

    Alors, j'oublie l'aspect très pratique du groupX, et je vais créé pleiiiiiiin de champs "article en relation".
    Seul bémol, ce champ ne récupère QUE le titre, l'id et le lien de l'article.
    Sauf, que j'aimerai pouvoir chopper d'autres valeurs de mon gabarit article joueur (comme la photo, le numéro...)

    Voici ce que je mets dans mon template Equipe Seblod.

    Code PHP:
    $db JFactory::getDBO();
    $query " SELECT * FROM #__content WHERE id='26' ";
    $db->setQuery($query);
    $render $db->loadObject();

    echo 
    $render->introtext
    id=26 étant l'id de mon article.
    $render->introtext me donne du brut ::cck::46::/cck::
    $render->title m'affiche le titre de l'article
    $render->id m'affiche l'id de l'article

    J'ai tenté plusieurs manières d'écrire pour récupérer d'autres valeurs... mais soit je m'y prends mal, soit cela n'est pas possible.

    Si vous avez des pistes ? Merci d'avance

  • #2
    Re : SEBLOD : récupérer d'autres champs d'un "article en relation"

    Plus je tripatouille dans tous les sens, et plus je ne comprends pas pourquoi on ne peut récupérer d'autres champs d'un "article en relation".

    Commentaire


    • #3
      Re : SEBLOD : récupérer d'autres champs d'un "article en relation"

      Bonsoir Psykopathik,

      Une première méthode est d'utiliser un fieldX sur un champ SEBLOD de type "related article" (catégorie de champ "content" et pas "joomla" article (related) qui peut aussi être utilisé mais moins d'option). Dans les paramètres du champ vous pourrez sélectionner la ou les catégories contenant vos contenus "joueur" et le rendu sur la vue content (lien, intro, titre). Insérer le champ fieldX dans le formulaire "équipe" (master) et dans la vue d'une équipe. Sur la vue "joueur" insérer le champ de type "related article" pour afficher l'équipe.

      Le champ de type "related article" peut être aussi un simple select dynamique qui met en option l'id de l'article et en texte le titre de l'article. Dans ce cas il est possible de lister les joueurs d'une équipe par une autre liste SEBLOD chargé sur la vue content d'une équipe par un module SEBLOD List qui recherche les joueurs ayant l'id de l'article courant (vue détail d'un article joomla, fonction live sur "var int"). Plus complexe mais plus de possibilités.

      Bien cordialement.
      Sébastien Lapoux
      Agence Web : http://www.Octopoos.fr
      Editeur de SEBLOD sous Joomla, GPL et gratuit : http://www.seblod.com

      Commentaire


      • #4
        Re : SEBLOD : récupérer d'autres champs d'un "article en relation"

        Merci pour ton aide.

        Je vais essayer la méthode du fieldX que tu préconises.

        Concernant le "select dynamique", c'est justement ce que j'ai utilisé avec un groupX. Car cela me paraissait la méthode la plus souple, simple et viable. Pour résumé, actuellement j'ai :
        - template ON appelé Équipe
        - dans ce template, j'ai un champ groupX qui appele un template OFF par exemple Gardien$
        - dans le template OFF Gardien, j'ai un select dynamique qui va lister les Articles étant dans la catégorie Gardiens

        Ce qui me permet, dans mon article Equipe, d'ajouter/supprimer autant de gardien que je veux.
        Et ceci pour tous les postes : défenseurs, milieux, attaquant, entraineurs...

        Et donc, côté Front, dans l'article Equipe, j'utilise une boule foreach en php, pour exploiter mon groupX

        Code PHP:
        $table JTable::getInstance('Content''JTable');

        $gardiens $cck->getValue('gardiens_x');
        foreach(
        $gardiens as $contentG){
            
        $rowIdG$contentG['gardiens_r']->value;
            
        $table->load($rowIdG); 
            
        $contentG JHtml::_('content.prepare'$table->introtext);
            echo 
        $contentG;

        La première boucle fonctionne sans problème ! Parfait.
        Seulement, si je mets une 2eme boucle pour les défenseurs, et ainsi de suite... et bien j'ai le droit à une erreur sur toutes ces boucles suivantes.
        Code PHP:
        Invalid argument supplied for foreach() 
        Et il suffit que j'inverse l'ordre dans mon template php, c'est toujours et uniquement la première boucle qui fonctionne.
        Séparément, elles fonctionnent très bien également.

        Bref... je vais essayer avec la méthode fieldX.

        Merci

        Commentaire


        • #5
          Re : SEBLOD : récupérer d'autres champs d'un "article en relation"

          Parfait jSeblod !
          Cela fonctionne sans soucis... fallait trouver la bonne combinaison

          Merci 1000 fois

          Commentaire


          • #6
            Re : SEBLOD : récupérer d'autres champs d'un "article en relation"

            Si c'est réglé merci de l'indiquer :
            Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
            Confucius

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X