We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 30672
    • 180 Posts
    yeah !

    ça marche!

    me reste plus qu’à mettre ça en forme!

    je suis embêté du coup pour autre chose, héhé!

    dans certaines pages, j’affiche avec un ditto les pages enfants sous forme d’accordéon (les enfants ne sont pas affichés dans le menu).

    les pages parents que je n’affichais pas avant contiennent donc en accordéon toutes les pages enfants... ce que je ne veux pas ! smiley

    j’ai regardé sous ditto, j’ai vu qu’on peut ajouter un &showPublishedOnly=`0` pour ne montrer que les enfants non publiés, mais ça ne marche pas, ça affiche même les enfants publiés...

    voici mon appel ditto:

    [[Ditto? &parents=`[*id*]` &tpl=`content_block` &showPublishedOnly=`0` &noResults=` ` &orderBy=`menuindex ASC` ]]

    content_block est le chunk pour l’accordéon.

    une idée?

    merci en tout cas pour le menu !!!!!!!!!!!! tu me sauves!
      • 30672
      • 180 Posts
      pour la mise en forme avec les css, j’avais ça avant:
      tu crois que je pourrai aller aussi loin avec cette nouvelles solution?

      du genre un fond pour le premier niveau, un autre fond pour le deuxième niveau, que la nom de la page active soit d’une autre couleur,...?

      ul.menu, ul.menu ul {
      list-style-type:none;
      margin: 0;
      padding: 0;
      width: 220px;
      }

      ul.menu a {
      display: block;
      text-decoration: none;
      }

      ul.menu li {
      margin-top: 0px;
      }

      ul.menu li a, ul.menu ul.menu li a {
      color: #000;
      padding: 0.3em;
      background-image:url(images/fond-menu.png);
      background-repeat:repeat-y;
      border-bottom-width: 1px;
      border-bottom-style: solid;
      border-bottom-color: #009;
      }

      ul.menu li a:hover, ul.menu ul.menu li a:hover {
      background: #fff;
      }

      ul.menu li ul li a, ul.menu ul.menu li ul li a {
      background: #CCC;
      color: #000;
      padding-left: 20px;
      border-bottom:none;
      margin:0px;

      }
      /* second level active */
      ul.menu li ul li.active a {
      color: #5272A3;
      padding-left: 30px;
      }
      /* third level active */
      ul.menu li ul li ul li.active a {
      color: #5272A3;
      padding-left:40px;
      }
      ul.menu li ul li a:hover, ul.menu ul.menu li ul li a:hover {
      background-color: #CCC;
      border-left: 5px #000 solid;
      padding-left: 15px;
      color:#819AC0;
      font-weight:bold;
      }
      ul.menu ul.menu li a:hover {
      border-left: 0;
      padding-left: 0.5em;
      }
      ul.menu ul.menu {
      border-left: 5px #f00 solid;
      }
      ul.menu a.active, ul.menu ul.menu li a.active, ul.menu a.active:hover, ul.menu ul.menu li a.active:hover {
      text-decoration: none;
      background-color: #819AC0;
      color:#000;
      font-weight:bold;
      }
      div.panel {
      border: 1px #000 solid;
      padding: 5px;
      margin-top: 1px;
      }

      ul.menu div.panel a, ul.menu div.panel li a:hover {
      display :inline;
      color: #CCC;
      background: none;
      margin: 0;
      padding: 0;
      border: none;
      font-weight: bold;
      }
      ul.menu div.panel a:hover {
      color: #000;
      text-decoration: underline;
      }


      .code { border: 1px solid #ccc; list-style-type: decimal-leading-zero; padding: 5px; margin: 0; }
      .code code { display: block; padding: 3px; margin-bottom: 0; }
      .code li { background: #ddd; border: 1px solid #ccc; margin: 0 0 2px 2.2em; }
      .indent1 { padding-left: 8em; }
      .indent2 { padding-left: 8em; }
      .indent3 { padding-left: 3em; }
      .indent4 { padding-left: 4em; }
      .indent5 { padding-left: 5em; }
      .indent6 { padding-left: 6em; }
      .indent7 { padding-left: 7em; }
      .indent8 { padding-left: 8em; }
      .indent9 { padding-left: 9em; }
      .indent10 { padding-left: 10em; }
        • 36404
        • 307 Posts
        good news, déjà, le menu fonctionne smiley

        alors, déjà pour les choses simples, oui, je pense que tes css devraient marcher même si, perso, je pense qu’elle pourraient peut-être maigrir un peu avec le même résultat smiley, l’essentiel reste quand même qu’elles fassent ce que tu attends d’elles smiley

        en revanche, je ne saisis pas trop le souci avec ditto.
        Si je comprends bien, tu affiches maintenant des pages parents que tu n’affichaient pas avant et qui, logique, affichent donc ses enfants agrégés par ditto

        pour l’histoire de &showPublishedOnly=`0`, si je me fie au paramêtre, ça semble vouloir dire "montrer seulement les ressources publiées", là tu lui dis non, donc normal il les montre + les ressources non-publiées (vérification faite dans le wiki de ditto (http://ditto.modxcms.com/files/snippet-ditto-php.html), c’est bien ça smiley)

        mais, surtout, ce que je ne saisis pas, c’est ce que tu veux montrer dans ces nouvelles pages parents qui s’affichent, pas sûr même qu’elles relèvent d’un appel ditto en fait...

        Have swing
          réfléchir avant d'agir
          • 30672
          • 180 Posts
          disons alors que j’aimerais afficher en accordéon uniquement les pages qui ne sont pas publiées (ou qui ne figurent pas dans le menu si c’est plus simple). wink
            • 36404
            • 307 Posts
            ok, donc si je comprends bien, les pages en question ont des enfants, certains publiés, d’autres pas, j’ai bon ? smiley

            si c’est le cas, je pense que tu as deux possibilités avec ditto (dont je suis loin d’être un spécialiste, je le trouve génial mais il y a une petite limitation qui m’embête, j’arriverai peut-être à en venir à bout avec phx mais bon, bref... smiley)

            - utiliser &where=`published=0`
            - utiliser filter mais dans ce cas ça me paraît plus compliqué que le simple where...

            a priori, ça devrait ne te ressortir que les ressources non-publiées

            à essayer...

            have swing
              réfléchir avant d'agir
              • 30672
              • 180 Posts
              j’ai essayé le &where

              mais quand j’affiche la page, j’ai une erreur sql:

              Execution of a query to the database failed - Unknown column ’sc.publishe’ in ’where clause’ »


              comme s’il manquait le d de published... huh huh

              je l’ai réécrit à la mano, même résultat...
                • 36404
                • 307 Posts
                Salut,

                ça semble être un bug connu sur le forum... uns solution serait de doubler la dernière lettre !! si, si, genre &where=`publishedd=0`
                j’ai essayé (aussi la première formule et effectivement ça bug) et plus de souci sauf un, il s’en tape royalement...
                je l’ai fait sur une page qui agrège des pages toutes publiées, je n’aurais donc pas du avoir de contenu et ben, si, aucun changement.

                bon, ben une faiblesse de plus pour ce bon Ditto, j’en ai déjà soulevé une belle dans le forum anglais, sans réponse...

                il ne te reste plus qu’à faire un template particulier pour tes pages non-publiées (duplique celle des pages publiées) et à faire where=`templatee!=11` (e doublé et le template que tu ne veux pas voir) ça devrait marcher.

                Le truc, c’est que quand tu regardes la requête en phase bug, on voit que le premier where concerne published= et apparemment, il ne surcharge pas sa requête, il l’allonge, mais quand tu demandes where published=1 et plus loin and published=0 tu as les deux... et apparemment ditto n’a rien de prévu pour ce cas particulier

                sinon, tu peux peut-être essayer quill, il semble plus simple pour les tâches... simples et peut-être a-t-il cette possibilité

                have swing
                  réfléchir avant d'agir
                  • 30672
                  • 180 Posts
                  ha ok c’est un bug ! smiley

                  merci je vais essayer comme tu dis, avec les modèles.

                  pour revenir au menu déroulant, comment fais-tu la différenciation au niveau css pour styliser les éléments actifs?

                  je m’explique : je clique sur un titre de premier niveau, la page s’affiche et le sous-menu apparait.
                  j’arrive à styliser le sous-menu actif, mais pas le menu parent.

                  pareil, comment styliser dans le sous-menu actif un élément qui serait menu lui aussi (qui affiche le 3ème niveau) ?

                  merci bcp!
                    • 30672
                    • 180 Posts
                    et comment mettre en rouge par exemple, le titre de la page affichée actuellement?

                    je suis aussi arrivé à enlever les ronds devant les éléments de liste pour active, mais pas pour l’autre ?...
                      • 30672
                      • 180 Posts
                      pour la condition sur le template, j’ai dû l’écrire comme ça :

                      &where=`template!=23`

                      avec 2 "e" ça plante...

                      ça fonctionne.

                      bizarrement, il m’affiche pour sur certaines pages les enfants en accordéons alors que les enfants ne sont pas basés sur le modèle 23.... huh

                      EDIT:

                      en fait non, la condition n’est pas prise en compte, chaque page qui a des enfants affiche les enfants en accordeon...

                      quelle m...