We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31663
    • 40 Posts
    Bonjour,

    sur mon site créé avec modx, (c’est un site d’annonce de bateaux, visible ici : http://www.occasionsenmer.com).
    J’aimerais récuperer des variables utilisées dans mes snippets (variables de ma base de données mySQL) genre $titre $modele $prix uniquement dans le détail d’une annonce dans mes balises meta de la page title, description, keywords.

    Est ce possible ?
    Si oui quelle est la procédure à suivre ?
    Merci

    Vito
      • 23050
      • 1,842 Posts
      Salut Vito,

      Si ces variables sont aussi utilisées en tant que Variable de modèles (ou TV), il est alors facile de les inclure dans une page en utilisant la syntaxe [*nom_de_ta_variable*]

      Si ce sont des variables utilisées uniquement dans les snippets, alors, je ne sais pas. undecided
        • 31663
        • 40 Posts
        Merci de ta réponse,

        Question idiote : c’est quoi exactement des variable de modèles (ou TV) ?

        Je cherche à intégrer dans mes metas les variables utilisées dans mes snippets en fait.
        Suis-je le seul tordu à y avoir pense ? undecided
          • 23050
          • 1,842 Posts
          Les TV c’est des champs personnalisables que tu peux attacher à tes documents.

          Classiquement, dans un document, tu peux définir un titre, un résumé, un contenu et d’autres joyausetés notamment dans MODx.

          Si par le plus grand des hasards tu voulais assigner à chaque document d’une rubrique, une image (par ex, pour illustrer un article, tu souhaites afficher une vignette), tu peux définir une TV qui pourra accueillir l’url d’une image. Au même titre que tu affiches alors ton [*content*] dans le template, tu pourras afficher ton [*image*].

          Pour reprendre ton exemple, je suppose que chaque annonce est un document ? Tu peux alors définir des TV pour le prix, le titre, le modèle que tu appelles dans ton template par [*prix*], [*titre*], [*modele*].
          Au moment où tu éditeras ton document, tu verras, en dessous du contenu, de nouveaux champs pour insérer le prix, le titre et le modèle.

          A la création des TV, n’oublie pas de leur assigner le template que tu utilises pour afficher ton annonce.

          Il y a des threads qui parlent des variables de modèle sur le forum notamment A quoi servent les TV ?

          Suis-je le seul tordu à y avoir pense ?
          Aucune idée : la seule chose est que comme je ne maitrise pas le PHP, j’ai utilisé ce qui était déjà développé : les TV wink
            • 31663
            • 40 Posts
            Où et comment sont définies les TV ? (c’est des snippets, des chunks ou des modeles ?)
            Où puis-je voir un exemple de TV ?

            Comment mettre dynamiquement (sur chaque annonce) mes variables titre, modele, marque ... dans mes varialbes modx [*titre*], [*modele*].

            ca fait bcp de questions ça...
              • 23050
              • 1,842 Posts
              Les TV (ou variable de modèles), c’est l’onglet qui est entre l’onglet modèles et l’onglet chunks wink

              Je ne réponds pas aux autres questions, je pense que tu trouveras les réponses quand tu auras vu l’onglet wink Néanmoins, si cela reste encore flou, hésite pas à reposter !
                • 31663
                • 40 Posts
                Ok vu merci !

                Quelle est la syntaxe à rentrer dans "Valeur par défaut: " ?
                Est ce du php ?

                Où puis je trouver des exemples de TV correspondant à ma problématique pour ne pas vous embêter ?

                  • 23050
                  • 1,842 Posts
                  La valeur pas défaut c’est la valeur que tu souhaites assigner à chaque entrée. Ce n’est pas du php.
                  Par exemple, pour ta TV [*prix*], tu peux assigner par défaut 1.000€

                  Je ne sais pas s’il y a des exemples d’utilisation.

                  Crée un TV que tu appelles prix, assigne la à ton template, va dans un document qui utilise le template et tu verras que tu peux assigner un prix.
                    • 31663
                    • 40 Posts
                    J’ai compris le truc, mais c’est du statique cette variable.

                    En effet moi j’ai qu’une seule page avec cette variable de modele.
                    Dans cette page j’ai un snippet pour visualiser l’annonce en question.
                    J’appelle la page en passant l’argument $idannonce pour selectionner la bonne annonce.

                    Donc moi cette variable [*prix*] doit être dynamique (car toutes les annonces n’ont pas le même prix).
                    Et j’ai qu’une seule page pour le détail d’une annonce.

                    Est ce que tu vois ce que je veux dire ?
                    Il faudrait que dans ce champs je puisse mettre un truc du genre [*prix*] = <?php echo $prix ?> mais ca ne fonctionne pas.
                    j’espère avoir été assez clair...

                    C’est visible ici :
                    http://www.occasionsenmer.com/recherche_bateau_voilier_resultats.php&simple=1&longueur_m=0&prix=0&voile=1&moteur=1
                    Quand on clique sur une annonce, dans le titre je veux la marque du bateau en question.
                    Simple non ?
                    grin
                    Merci pour vos réflexions...
                      • 23383
                      • 138 Posts
                      Pour les tv, il y a toujours cette doc :
                      http://www.modxcms.com/template-variables.html
                      Je ne sais pas si ca peut t’aider... Les valeurs par défaut c’est toi qui choisit... du texte, du php, du sql (avec les @-Bindings) mais je crois que la doc expliquera peut-être mieux que moi smiley

                      Regarde pour faire un truc dans le genre @EVAL echo $prix;
                      mais bon si t’as initialisé $prix avant je sais pas sur quoi tu vas tomber ...