We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 11636
    • 47 Posts
    Bonsoir.
    Donc après votre aide et notamment celle de périnne j’avance petit à petit dans ma refonte et j’aimerais par la même occasion profiter de la force de modx et de ce que peut apporter un CMS par rapport à du statique.
    Donc voilà mon souci actuellement mon arborescence(menu) fonctionne dans le style je clique sur un répertoire et le menu affiche ces enfants.
    Répertoire
    Enfant
    Enfant
    Enfant
    Répertoire
    Répertoire

    Mais à la place d’avoir un menu des enfants je vais créer une page contenu qui fournira des liens vers ces enfants.
    Jusque là rien de sorcier.
    Par contre cette page sera en fait une liste de résumé de ces enfants. J’aimerais donc récupérer sur cette page des donnés préalablement saisie dans la page de l’enfant lui-même. Du style :
    Affichage d’une image (ce serré une image qui serré associé à l’enfant soit via le dom par exemple l’image se trouvera toujours a un endroit précis du contenu de l’enfant sois via une variable tout comme on crée un résumé on doit sûrement pouvoir stocker d’autre variable (avec tv ?))
    Affichage du résumé.
    Affichage du lien vers l’enfant
    Affichage d’un lien externe tout comme l’image cette donnée serrée récupérée par le moyen le plus facile a mettre en place et peut donc être affiché dans le contenu de l’enfant lui-même si cela et plus simple.
    Ce que je veux faire ce rapproche beaucoup d’un annuaire qui proposerais des liens directs avec un résumé sur le coté et également un lien vers une fiche détaillé et fournirai également une petite image du site en question a coté de son résumé.
    Bref j’aimerais associer des données a un document et il me semble que cela et feusable puisque le fonctionnement par défaut associe déjà des alias résumé contenu … a un id.

    Et après mon snipplet sera du style
    <code>< ?php
    $NombreEnfant = this->NombreEnfant //appel a la méthode récupérant le nombre d’enfant (wayfinder sais bien le faire c’est que c’est feusable J )
    for($i=0 ;$i< $NombreEnfant ;$i++)
    {
    echo this->ImageEnfant[$i]. "
    ".this->SummaryEnfant[$i]……
    }
    ?>
    </code>
    ou encore
    <code>< ?php
    $tableau = this->ListeIdChildren //récupération des identifiant des enfants
    for($i=0 ;$i< count($tableau) ;$i++)
    {
    echo $tableau[$i]->RecupImag. "
    ". $tableau[$i]->Summary ;
    }
    ?>
    </code>

    Donc en fait j’aurais surtout besoin de savoir comment associer une donnée a un document et comment on la récupère avec une " syntaxe " modx(le nom des fonction modx).
    Je vous remercie d’avance et vous souhaite une agréable soirée.
      • 11975
      • 2,542 Posts
      Salut,

      si je saisis bien ta problematique, c’est tres facile à faire avec Ditto.
      Pour ce qui est des infos à afficher dans la vue liste, il te suffit de creer un chunk qui sera le tpl utilisé pour chaque item de la liste.
      Si le modele de document de MODx ne convient pas pour ta structure de données étend le modele avec les tvs.


      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 11636
        • 47 Posts
        je n’ai pas bien compris votre réponsse.

        de plus j’ai pacouru un peu ditto avant de poster et il ne me semblé pas qu’il pouvait répondre a mes besoin du moins pas a lui tout seul en tout cas.

        Il me faudrais le nom des varaibleset leurs méthodes pouvant faire ce que je veut et je me débrouillerais pour faire le snippet.

        Je vous remerci.
          • 11975
          • 2,542 Posts
          je pense qu’avant de te lancer dans du dvpt, tu devrais donner sa chance à Ditto qui est une petite merveille de code.

          Grosso Modo c’est un aggregateur de contenu.
          Tu lui donnes comme parametre une ou des ids de folder, il les parcourt remonte les données des documents contenus dans ces derniers et te permet d’afficher dans un format de ton choix les infos récupérées.

          A lire ton premier post, je me dis que c’est le candidat ideal pour ce que tu veux faire.
          Avec les placeholders du chunk qui sert de template pour chaque enfant, tu peux choisir quels infos presentées.
          Tu peux meme profiter du support de PHx dans ce chunk.

          Ex: mes documents possedent une grande image mais dans mon chunk je souhaite n’afficher qu’une vignette.
          Dans ce cas rien de plus facile => utiliser le modifier phpThumb de PHx qui créera à la volée la vignette selon les parametres de ton choix.

          Franchement, essaie Ditto  wink


          :-)
            Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
            • 11636
            • 47 Posts
            si vous dites que ditto peut me séduire je vous fait entierement confinace. (just il peut récuperer un élements en particulier?? genre l’image a la 3eme ligne ou l’image qui a l’id=3)

            et j’ai bien essayer de paufinner ditto mais même sur le wiki la documentation est en anglais sad

            c’est pourquoi je soucite votre aide pour m’expliquer comment utiliser diito pour faire ce que j’en veux.

            j’ai bien compris que je cré un chunk qui est mon template moulle d’un résumé apres il faut faire un snippet qui sera ma bouclle qui appel ditto?

            je souhaieté avec ces donnés (bien sur si une ame charitable me les fournis)


            mon snippet :
            for le nombre d’enfant
            enfant->monchunk
            fin de for

            chunk
            this->images this->resumme
            fin chunk
              • 11636
              • 47 Posts
              je n’arrive vraiment pas avec ditto? et ca récupere des variable "modx" mais peut t’on creer de nouvelle variable du style en dessous de ma variable résumé j’ai une variable image et donc apres récuperer
              [ditto? &docid=’22’ &$chunk=monchunk &$donne="resume" &donne="image"]


              Bonne nuit grin ce fait tard.
                • 23050
                • 1,842 Posts
                Salut Hades,

                Il faut vraiment que tu fasses attention à la syntaxe que tu utilises, il faut suivre les paramètres du snippet, sinon tu ne sortiras rien en résultat.

                Déjà, un snippet s’appelle soit entre [[ ]] soit entre [! !]
                Dans ton appel du dessus, tu as juste []

                Deuxième point, dans Ditto, &docid n’existe pas. On utilise &documents si on souhaite afficher des documents précis (&documents=`2,5` afficherait le doc 2 et 5) ou &parents pour afficher les enfants de parents précis (&parents=`10,20` afficherait tous les enfants des dossiers 10 et 20).

                Dans ton cas, pour afficher la liste des enfants comme tu le souhaites, et si ton parent a pour id 2, ton appel devra contenir &parents=`2` (en réalite, ça peut même être plus simple car par défaut, le &parents est égal au document en cours... donc si tu devais cliquer sur le parent pour afficher la liste des enfants, tu te trouves sur le doc d’id 2, ce qui revient à &parents=`2` ... mais bon, j’essaie de t’expliquer le générique, on va pas s’embrouiller wink )

                Ensuite, concernant les templates avec les chunks. Comme tu l’as bien compris, Ditto récupère en premier lieu tous les documents qui correspondent à l’appel que tu fais (dans ton cas, les enfants du doc 2) et ensuite, il va les afficher. Pour cela, il utilise un template (celui par défaut ou un que tu définis).
                Pour commencer, je t’invite à faire un premier appel très simple : [[Ditto? &parents=`2`]] et de voir ce qu’il se passe.
                Ensuite, tu compares avec le template par défaut qui se trouve dans le fichier de lang dans assets/snippets/ditto/lang et qui vaut :
                    <div class="ditto_item" id="ditto_item_[+id+]">
                        <h3 class="ditto_pageTitle"><a href="[~[+id+]~]">[+pagetitle+]</a></h3>
                        <div class="ditto_introText">[+introtext+]</div>
                        <div class="ditto_documentInfo">par <strong>[+author+]</strong> le [+createdon:date=`%d-%b-%y %H:%M`+]</div>
                    </div>
                


                Tu remarques que dans le template, on appelle plus les tv avec [* *] mais avec [+ +]

                Essaie de construire ton template en partant de ce principe. Tu le sauvegardes dans le chunk avec le nom listeRubriques par ex, et tu l’ajoutes ensuite à ton appel Ditto : [[Ditto? &parents=`2` &tpl=`listeRubriques` ]]

                Dernier point, si tu veux une image, il te faut effectivement créer une tv... mais je te conseille déjà de tester un peu Ditto et on verra l’image plus tard wink
                  • 11636
                  • 47 Posts
                  Haaa tres bien merci pour ces information clair et precise.
                  ps: mes bout de code sont en effet tres loin de la syntaxe de modx souhaitant justement la connaitre du coup je pond du pseudocode dont j’image que la syntaxe ressembleré a ca.
                  DE plus je vient de comprendre qu’il n’y a pas besoin de faire de bloucle fort &parents le feusant a ma place et j’ai cru égalemnt comprendre qu’en fait les tv sont des variables associé a un document et donc je peut associer ce que je veut dans mon cas une image a un document precis et juste jouer dans le template en métant [+monimage+]

                  Bon j’ai pas encore essayer mais je viens d’avoir la sensation que modx sais démistifié sous mes pieds GROS GROS merci. et je vous recontacterais j’espere pour vous remercier une fois de plus car j’en aurais finni smiley
                    • 23050
                    • 1,842 Posts
                    Ah je crois que tu as compris oui ! smiley

                    L’avantage de MODx est justement celui-ci : pouvoir monter un site sans connaître le php. Les snippets font tout à notre place, il suffit pour cela de savoir indiquer les bons paramètres avec les bonnes valeurs wink

                    Je suis contente d’avoir pu t’éclairer !

                    Et tu as également compris le principe des TV, pas la peine que j’aille plus loin ! wink
                      • 11636
                      • 47 Posts
                      bon vais pas ouvrir un nouveau topic pour cela mais j’espere on me répondra grin

                      je diré grosso modo salopêrie de cache en affrectant un autre template changeant le menu ... rien ne bouge je comprend mieu pkoi ditto ne fonctionne pas grin

                      t’abitude je vais dans le dossier cache j’efface les fichier correspondant (il en reste que 2 a la fin) et ca fonctionne mais la j’ai affaire a un cache récalssitrant avec une réactualisation vis ctrl+f5. merci d’avance wink