• Comment créer une TV avec une liste déroulante de pages MODx ?#

  • Jean-Christophe B. Reply #1, 2 years, 11 months ago

    Reply
    Voici la traduction d'un post de morgycat. Il me semblait utile de le traduire, c'est le genre d'astuce qui peut servir fréquemment.
    Pour créer une TV de type liste déroulante avec les options suivantes:
    <option> (ID du document MODx) Titre de la page</option>
    (notez l'inclusion de l'ID entre parenthèses afin de différencier les pages ayant un titre similaire)

    Créez une TV avec les paramètres suivants:

      [list]
    • Nom de la variable: docLink
    • Type d'entrée: DropDown List Menu
    • Valeurs optionnelles d'entrée: @SELECT CONCAT('(',id,')',pagetitle) AS Column1,id FROM modx_site_content ORDER BY pagetitle, id
    [/list]

    Ensuite, dans vos templates ou chunks, utilisez href="[~docLink~]"


  • heliotrope Reply #2, 2 years, 11 months ago

    Reply
    Salut,

    je salue l'initiative
    Sinon pour les débutants, la syntaxe exacte pour voir apparaitre sur le front la valeur de la tv pour la page courante :
    [*docLink*]

    A noter qu'on peut obtenir des resultats plus intéressant avec ddTree qui rendra la liste de documents en vue hierarchique.
    A utiliser avec @EVAL

    Ex:
    @EVAL $params=array('cleParamSnippet'=>'valeurParamSnippet'); return $modx->runSnippet('ddTree',$params);

    On peut également utiliser ditto pour créer une simple liste d'options.
    L'usage est identique au précédent.

    Bien entendu la liste ne sera visible qu'en mode édition.
    Pour reproduire la liste déroulante sur le front, il faudra s'y prendre différemment.



  • Jean-Christophe B. Reply #3, 2 years, 10 months ago

    Reply
    Excellent!
    Merci pour le complément d'informations.