We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 25127
    • 22 Posts
    Je veux faire ça :
    [!Ditto? &startID=`188` &debug=`1` &dateSource=`monTvDate` &tpl=`monTpl` &filter=`monTvDate,@EVAL return time();,5`!]

    j’ai réglé ma Tv
    Ditto2
    Nom de variable: montTvDate
    Type d’entrée: Date
    propriété du widget : Unixtime

    et je n’ai pas le résultat escompté... qui peut m’indiquer la marche à suivre pour me sortir d’affaire ?
    Merci d’avance
      • 11975
      • 2,542 Posts
      Salut,

      alors plusieurs choses me viennent à l’esprit:

      1/ est que le @EVAL est supporté par ditto dans les filters, à vérifier mais j’ai un doute
      Autant passer par un snippet

      EDIT: Ditto supporte la syntaxe

      2/ Vérifier les parametres &filterDelimiter et consorts pour valider que "," est la valeur par défaut.

      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 11975
        • 2,542 Posts
        En y regardant de plus près, c’est ton filtre qui ne correspond pas à ce que tu cherches à faire.

        Actuellement tu demandes à Ditto de supprimmer de la liste de résultats tous les documents pour lesquels la valeur de ta tv est <= à time().
        Donc sauf à avoir fixer une date dans le futur pour tes documents, aucun résultat n’apparaitra.

        :-)

        EDIT: me demande si je suis bien réveillé ce matin ...
        j’ai corrigé ma phrase (inversion de filtre)
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 25127
          • 22 Posts
          j’ai trouvé :

          Ditto supports the @EVAL binding to evaluate php expressions in filter clauses.
          The php expression should return the value to be used as the clause and must have proper php syntax (all statements must end with a semi-colon, etc.).
          Thus, @EVAL time(); is the correct syntax to get the current unix timestamp as described in the documentation.

          mais eval ne fonctionne que pour du basic filtering... donc pas sur les Tvs.
          j’ai donc créé un snippet mydate dans lequel j’ai mis ’return time()

          et modifié la syntaxe aussi comme ci-dessous :

          [!Ditto? &startID=`188` &debug=`1` &summarize=`999` &sortDir=`ASC` &tpl=`monTpl` &filter=`monTvDate,[[mydate]],3`!]

          et ne pas oublier d’associer la tv monTvDate au template ! (j’avais as fait non pluS..)

          mERCI heliotrope pourles pistes ! pas de café à midi ! ptète une bière pour se mettre (à) la pression? ;-)