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

    Les TV’s c’est bien...mais j’ai un soucis, parce que ces dernières ne sont pas typées...

    En effet, quand on les crée on leur assigne un "type" : text, date; file etc..., mais qui n’est pas celui conservé.

    Moi j’ai mis un type date, alors j’ai le beau calendrier et tout, sauf que pour borner des dates qui ne sont pas de type date c’est la galère.

    MODx lui, il sauvegarde en text les valeurs des variables saisies, ce qui est normal, mais moi je retrouve bloqué parce que je ne peux pas faire DATE1>=date1 par exemple, ou alros comment faire ?

    Merci d’avance.
      [b]D
      • 13320
      • 245 Posts
      En fait, j’ai trouvé, je vais utiliser des fonctions de MySQL pour retrouver mon résultat
        [b]D
        • 6726
        • 7,075 Posts
        Quote from: Jabberwock at Jun 06, 2007, 01:34 AM
        Les TV’s c’est bien...mais j’ai un soucis, parce que ces dernières ne sont pas typées...

        Typées, dans quel sens : dans le sens qu’elles ont un content-type ou une définition xml ? Effectivement non.
        Mais il y a plusieurs type de TV qui conditionnent l’interface de saisie adapté à chaque type.

        Quote from: Jabberwock
        En effet, quand on les crée on leur assigne un "type" : text, date; file etc..., mais qui n’est pas celui conservé.

        Dans quel sens, "pas conservé" ?
        Lorsque tu édite le document, le champ de saisie n’est pas conforme au type choisi ?

        Ou alors, tu parles du format de stockage ?
        Ou encore, de la mise en forme ?

        Sur ce dernier point il faudra utiliser les widgets de chaque TV pour bénéficier d’un typage du code en sortie : par exemple si tu choisi une date, utiliser le widget "Date Formatter", etc...


        Quote from: Jabberwock
        Moi j’ai mis un type date, alors j’ai le beau calendrier et tout, sauf que pour borner des dates qui ne sont pas de type date c’est la galère. MODx lui, il sauvegarde en text les valeurs des variables saisies, ce qui est normal, mais moi je retrouve bloqué parce que je ne peux pas faire DATE1>=date1 par exemple, ou alros comment faire ?

        OK ne mélangeons pas les choses là... pour le type date MODx les stocke comme toute date c’est à dire unix timestamp (d’ailleur c’est pour ça que tu as besoin d’un date formatter à la sortie).

        Quand tu dis que tu ne peux pas faire DATE1>=date1, ça veut dire quoi exactement ?
        Pour faire des opérations logique sur les TV il y a à ma connaissance trois moyens :

        • utiliser @EVAL
        • utiliser le plugin PHx et ses opérateurs logiques
        • créer un snippet
          .: COO - Commerce Guys - Community Driven Innovation :.


          MODx est l'outil id
          • 16732
          • 592 Posts
          Je pense que Jabberwock fait référence au type de champ mysql, en effet lorsque l’on crée une tv date, dans les faits on créé un champ de type text et non de type datetime. Il est donc impossible d’effectuer une requête sql de type DATE1>=date1 AND DATE2>=date2 grin

          En plus je viens de remarquer que pour la tv date on a pas un timestamp sad mais une date type datetime mysql... sauf que le mois et le jour sont organisés "à la française" cad jour-mois-année et non mois-jour-année (mysql) ce qui complique un peu plus le tout
            • 6726
            • 7,075 Posts
            Bon je suis passé à côté de la réponse donc, merci d’avoir rectifié !

            C’est intéressant et il serait bon de poser la question à Jason des options retenues pour le futur (le type de chose à poster dans "Blue Sky" n’hésite pas !).
              .: COO - Commerce Guys - Community Driven Innovation :.


              MODx est l'outil id
              • 13320
              • 245 Posts
              Oui le champs ’value’, de la table ’tmplvar_contentvalues’ est de type text, quel que soit la TV créée.
              Par contre le type de la TV dans la table ’site_tmplvars’, dans le champs type est bien celui choisit lors de la création.

              Je pense avoir compris comment fonctionne les TV au niveau de la BDD et je ne pense qu’il soit possible de conserver le format.
              En effet, toutes les valeurs des TV sont dans la même table, il faut donc un type générique (text) pour les conserver.
              Si on voulait garder le type il faudrait une colonne par type, ce qui risque de faire un peu lourd à la longue.
              Bon après les dev peuvent avoir une idée de génie aussi smiley

              Pour pallier à mon problème, je pense que je vais utiliser STR_TO_DATE de MySQL pour formatter la date en timestamp et pouvoir faire tout ce que je veux ^^.

              En théorie, parce que j’ai pas encore pu tester.

              PS : j’ai pas le droit au blue-sky ^^
              An Error Has Occurred!
              The topic or board you are looking for appears to be either missing or off limits to you.
                [b]D
                • 16732
                • 592 Posts
                Quote from: Jabberwock at Jun 06, 2007, 03:34 AM


                PS : j’ai pas le droit au blue-sky ^^
                An Error Has Occurred!
                The topic or board you are looking for appears to be either missing or off limits to you.


                Oui c’est pour moi ça wink
                  • 6726
                  • 7,075 Posts
                  J’aurai du préciser que c’est un forum où l’équipe discute de l’avenir de MODx, et qui nous permet de soumettre des suggestions, être au courant des options de dév, en gros de se coordonner... donc effectivement réservé à l’équipe MODx wink
                    .: COO - Commerce Guys - Community Driven Innovation :.


                    MODx est l'outil id
                    • 13320
                    • 245 Posts
                    ok ok
                      [b]D