We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6726
    • 7,075 Posts
    Attention je ne dis pas de faire un layout avec des tableaux (beurk) mais d’utiliser les tableaux pour des contenus en ligne.

    Possible sans tableau, ça l’est surement oui, mais ça dépend du nombre de float... on peut faire pour 3 colonnes mais au delà ça devient compliqué (enfin, si tu as une recette je suis preneur !).

    De plus, l’utilisation des tableaux n’est pas prohibé et même c’est naturel dans le cas de données tabulaires, donc ça dépend aussi des contenus.

    Une autre solution est d’utiliser display:table pour les navigateurs respecteux des standards, et un tableau pour IE... mais ça force à définir plusieurs feuilles de styles ce qui n’est jamais ma solution préférée.
      .: COO - Commerce Guys - Community Driven Innovation :.


      MODx est l'outil id
      • 11975
      • 2,542 Posts
      Je te rassure, on est sur la même longueur d’onde. wink
      Les tableaux c’est mal  grin leur utilisation doit se limiter comme tu le rappelles à présenter des données tabulaires.

      Pour ce qui est d’une présentation en colonne je n’ai pas de solution miracle (malheureusement) mais c’est tellement plus élégant et puissant de recourir aux css.
      Pour un site comme copadel, par exemple, en modifiant simplement la classe du conteneur, je peux décider d’afficher les résultats de ditto en colonne ou en ligne.
      Si j’avais opté pour un tableau je perdais cette fléxibilité.

      Ce que je souhaitais exprimer dans mon précédent commentaire, c’est que le choix du tableless a des conséquences financières.
      Pour nous professionnels la valeur ajoutée est évidente même si cela peut tourner au casse tête mais pour le client c’est moins évident. Le prix l’emporte sur tout en régle générale.

      :-)


        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 1876
        • 835 Posts
        Vi

        Un des gros souci c’est quand même la gestion par les différents Browser de Height.

        Dans le cas de Ditto ou de AtoZ ce ne sera que du texte ou je peux définir par chunk une présentation constante en terme de ligne (titre - résumé de 2 lignes maxi et une ligne pour read more

        C’est vrai que je devrai allez voir comment maxigallery affiche ses images
          • 20488
          • 353 Posts
          aour,

          en utilisant les class, ceci devrait passer normalement (XHTML tansitionnal) :

          .colonne
          {
          margin: 0;
          padding: 15px 5px 0 0; /*exemple d’interlignage */
          width:33%;
          float:left;
          }

          ensuite, pour aller à la ligne, tu peux utiliser la propriété clear dans la div suivante me semble-t-il. wink

            • 18219
            • 826 Posts
            Quote from: heliotrope at Oct 07, 2006, 05:04 PM

            ...
            Je viens de remarquer que c’est mon 500 eme message smiley
            Bienvenue parmis les ’Committed to MODx’
            J’en fait parti depuis aussi (554 messages au compteur ce jour, mais à coté de David on a encore du chemin à parcourir) wink
              Marc
              I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
              • 1876
              • 835 Posts
              Oui mais bon David poste beaucoup pour ne rien dire grin
                • 6726
                • 7,075 Posts
                lol
                Vrai que j’ai la plus grosse moyenne journalière du forum grin

                Sans rire je pense qu’il n’est pas impossible que je sois l’utilisateur ayant posté le plus de mots (Ou Susan... un petit wordcount sur la base...), mais bon je suis le marketeux de service, normal cool ... et ausi je tappe environ 30 mots minutes (j’ai un extincteur près du clavier, au cas où wink ) ... Et Ryan n’est pas aussi bavard que moi tongue Quoique je viens de poster mon message le plus court de tous les temps wink
                  .: COO - Commerce Guys - Community Driven Innovation :.


                  MODx est l'outil id
                  • 4831
                  • 57 Posts
                  bonjour à tous, désolé de déterrer ce vieux post mais j’ai une trouvé une solution pour disposer les résultats de ditto sur 3 colonnes.
                  je préviens de suite : il s’agit d’une petite modif de ditto 2.1.1 donc si vous l’utilisez ailleurs, il faudra dupliquer la snippet ditto et la renommer.
                  tout d’abord, entourez l’appel de votre snippet par <table> et </table> avec les paramètres que vous désirez pour votre futur tableau à 3 colonnes.
                  dans ditto renommé, rendez vous à la ligne 1043
                  $output .= $renderedOutput;

                  $renderedOutput contient le code html de la réponse à votre requete.
                  il est dans la boucle for qui commence ligne 1026
                  j’ai donc mis une variable juste avant $a=0;
                  puis dans la boucle for, j’ai rajouté ceci:
                  if ($a=="0"){$renderedOutput="<tr>".$renderedOutput; $a=0;}
                  $a=$a+1;
                  if ($a=="3"){$renderedOutput=$renderedOutput."</tr>"; $a=0;} //$a= nombre de colonnes voulues
                  

                  ensuite dans le template utilisé par ditto, il suffit de mettre les données dans des <td></td>...
                  on obtient ainsi un tableau du type 1|2|3
                  4|5|6
                  7|8|9...
                  voilà j’espère que j’ai été assez clair...
                  comme indiqué j’ai utilisé la version 2.1.1 de ditto (oups j’ai pas vérifié si ct la dernière).
                  bonne journée à tous
                    • 3133
                    • 98 Posts
                    Bonjour a tous,

                    Alors j’ai testé ton trucs et j’arrive a tout sur une meme ligne.

                    Mais avant d’aller plus avant j’ai la version 2.1.0 de ditto (j’ai pas trouvé la version 2.1.1)

                    je voulais juste validé mon bout de code

                    > = insertion du code

                         
                              >  $a=0;
                    
                          for ($x=$start;$x<$stop;$x++) {
                    			
                    
                              >  if ($a=="0"){$renderedOutput="<tr>".$renderedOutput; $a=0;}
                              >  $a=$a+1;
                              >  if ($a=="3"){$renderedOutput=$renderedOutput."</tr>"; $a=0;} 
                    			    
                                $template = $ditto->template->determine($templates,$x,0,$stop,$resource[$x]["id"]);
                                    // choose the template to use and set the code of that template to the template variable
                                $renderedOutput = $ditto->render($resource[$x], $template, $removeChunk, $dateSource, $dateFormat, $placeholders,$phx,abs($start-$x));
                                    // render the output using the correct template, in the correct format and language
                                $modx->setPlaceholder($dittoID."item[".abs($start-$x)."]",$renderedOutput);


                    Argh j’y suis presque .. je dois faire un truc de travers

                    Merci de votre patience
                      • 3133
                      • 98 Posts
                      Stoooooooppppp j’ai trouvé


                              $a=0; 
                              $resource = array_values($resource);
                      
                              for ($x=$start;$x<$stop;$x++) {
                      			
                      
                      			    
                                  $template = $ditto->template->determine($templates,$x,0,$stop,$resource[$x]["id"]);
                                      // choose the template to use and set the code of that template to the template variable
                                  $renderedOutput = $ditto->render($resource[$x], $template, $removeChunk, $dateSource, $dateFormat, $placeholders,$phx,abs($start-$x));
                                      // render the output using the correct template, in the correct format and language			
                                 if ($a=="0"){$renderedOutput="<tr>".$renderedOutput; $a=0;}
                                  $a=$a+1;
                                  if ($a=="3"){$renderedOutput=$renderedOutput."</tr>"; $a=0;} 
                                  $modx->setPlaceholder($dittoID."item[".abs($start-$x)."]",$renderedOutput);



                      Donc ton truc marche bien ...merci