We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21621
    • 23 Posts
    Quote from: esche at Jan 11, 2011, 12:30 AM

    Quote from: Nixon at Jan 10, 2011, 05:10 AM

    Добрый день.

    Уже второй день бъюсь над тем, как вывести подобную конструкцию, но ничего стоящего не выходит.

    Задача: нужно сделать такое меню, что бы подпункты (см.схему 1) 1.1,1.2,1.3,1.4 были видны всегда, при условии, что у них самих тоже есть вложенные разделы (см. схему 2).

    Префиксы + CSS (жестко прописать display:block для конкретных #prefix12,#prefix13 {} или для всех элементов следующего уровня после #prefix1{}, остальные - скрывать... Элементы с классом .active - видимо, показывать)

    Чуть выше по странице: http://modxcms.com/forums/index.php/topic,17845.msg334038.html#msg334038

    Удачи

    Благодарю!

    Вы дали ценную подсказку и я реализовал то, что требуется с помощью css (display:block; и display:none; для нужных элементов) а так же префиксов для них, генерируемых MODx’ом.

    Одна проблема, IE 7-8 то ли вообще не понимают смежные селекторы CSS (.classA + .classB) то ли я что-то не так делаю. Решаю сейчас эту проблему wink

    Но, в нормальных браузерах всё работает на ура. Ещё раз спасибо )))

    Чуть позже выложу описание решения с примером.
      • 9085
      • 630 Posts
      Quote from: Nixon at Jan 11, 2011, 08:48 AM

      Одна проблема, IE 7-8 то ли вообще не понимают дочерние селекторы CSS (.classA + .classB) то ли я что-то не так делаю. Решаю сейчас эту проблему wink
      Почему "плюсик"?
      http://htmlbook.ru/samcss/dochernie-selektory
        Правильно заданный вопрос повышает вероятность получения нужного ответа.
        Что-то не работает? Загляните в лог ошибок!
        Есть проблема? "Локализуйте" её!
        Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
        • 21621
        • 23 Posts
        Quote from: esche at Jan 11, 2011, 09:12 AM

        Quote from: Nixon at Jan 11, 2011, 08:48 AM

        Одна проблема, IE 7-8 то ли вообще не понимают дочерние селекторы CSS (.classA + .classB) то ли я что-то не так делаю. Решаю сейчас эту проблему wink
        Почему "плюсик"?
        http://htmlbook.ru/samcss/dochernie-selektory


        Прошу прощения, ошибся в описании. Я воспользовался смежными(соседними) селекторами (+) а не дочерними (>).
        http://htmlbook.ru/samcss/sosednie-selektory
          • 2508
          • 9 Posts
          Здравствуйте.
          Никак не могу организовать меню вида:

          <div id="example1">
          <ul id="menu1" class="example_menu">
          <li><a class="expanded">Компьютеры</a>
          <ul>
          <li><a href="#">Видеокарты</a></li>
          <li><a href="#">Материнские платы</a></li>
          <li><a href="#">Процессоры</a></li>
          <li class="active"><a href="#">Звуквые платы</a></li>
          </ul>
          </li>

          <li><a class="collapsed">Сотовые телефоны</a>
          <ul>
          <li><a href="#">Розовенький телефончик</a></li>
          <li><a href="#">Ретро труба</a></li>
          <li><a href="#">Барабанный телефон</a></li>
          <li><a href="#">Мобила</a></li>
          </ul>
          </li>
          </ul>
          </div>

          collapsed - закрытое меню
          expanded - раскрытое меню
          javascript используется...

          <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
          <script type="text/javascript">
          $(document).ready(function() {
          setTimeout(function() {
          // Slide
          $(’#menu1 > li > a.expanded + ul’).slideToggle(’medium’);
          $(’#menu1 > li > a’).click(function() {
          $(this).toggleClass(’expanded’).toggleClass(’collapsed’).parent().find(’> ul’).slideToggle(’medium’);
          });
          $(’#example1 .expand_all’).click(function() {
          $(’#menu1 > li > a.collapsed’).addClass(’expanded’).removeClass(’collapsed’).parent().find(’> ul’).slideDown(’medium’);
          });
          $(’#example1 .collapse_all’).click(function() {
          $(’#menu1 > li > a.expanded’).addClass(’collapsed’).removeClass(’expanded’).parent().find(’> ul’).slideUp(’medium’);
          });
          }, 250);
          });
          </script>


          /* Menu */

          #example1 {
          float: left;
          }
          .expand_all,
          .collapse_all {
          cursor: pointer;
          }
          .example_menu {
          font-size: 90%;
          list-style: none;
          margin: 0;
          padding: 0;
          vertical-align: top;
          width: 240px;
          }
          .example_menu ul {
          display: none;
          list-style: none;
          margin: 0;
          padding: 0;
          }
          #menu1 {
          margin: 0;
          }
          #menu1 li,
          .example_menu li {
          background-image: none;
          margin: 0;
          padding: 0;
          }
          .example_menu ul ul {
          display: block;
          }
          .example_menu ul ul li a {
          padding-left: 20px;
          width: 220px;
          }
          .example_menu a {
          color: white;
          cursor: pointer;
          display: block;
          text-decoration:underline;
          margin-left: 0;
          font-size:13px;
          padding: 13px 20px 11px 24px;
          width: 196px;
          }
          * html .example_menu a { width:240px; }
          .example_menu a.expanded {
          background: url(’images/pipi.gif’) no-repeat 22px top;
          }
          .example_menu a.collapsed {
          background: url(’images/pipi.gif’) no-repeat 22px top;

          }
          .example_menu a:hover {
          text-decoration: none;
          }
          .example_menu ul {
          padding:5px 0 7px 0;
          margin:0 0 0 1px;
          width:238px;
          background:url(images/ttp.gif) top center no-repeat #036283;
          }
          .example_menu ul a {
          color: #00baf8;
          display: block;
          font-weight: normal;
          font-size:12px;
          border:0;
          padding: 4px 10px 4px 31px;
          background:url(images/tochka_sin.gif) 22px 10px no-repeat;
          }
          .example_menu ul a:link {
          font-weight: normal;
          }
          .example_menu ul a:hover {
          background:url(images/tochka_sin.gif) 22px 10px no-repeat;
          text-decoration: none;
          }
          .example_menu li.active a {
          background:url(images/tochka_sin2.gif) 22px 10px no-repeat;
          color:#ff7d51;
          text-decoration:none;
          }
          .example_menu li.active li a {
          background: #e8e8e8;
          }
          #menu1 li.footer,
          .example_menu .footer {
          background: transparent url(’images/footer.jpg’) no-repeat 0 0;
          height: 9px;
          width: 202px;
          }
          .example_menu .footer span {
          display: none;
          }
            • 2508
            • 9 Posts
            Проблему решил.
              • 20050
              • 67 Posts
              Есть сайт со сложной многоуровневой структурой. Использую Wayfinder для вывода. В документе, элементе структуры сайта, так же вывожу список нижележащих документов. Запрос
              [!Wayfinder? &startId=`[*id*]` &level=`0` !]
              но всё выводится до определённого уровня. Примерно до 20. Иногда до 22.

              Когда переходишь на пункт около 20 уровня может показать список нижележащих документов, но не 21 , а на 24 уровне, а в некоторых документах выводит вообще последний пункт 30 уровня. Кто с подобным сталкивался? Посоветуйте что делать.
                [!ditto? !][!ditto? !][!ditto &margaritto=`yes`!]
                • 18788
                • 7 Posts
                Подскажите , а пожно использовать собственные шаблоны? мне <UL> и <Li> вообще не нужны, а он <UL> все равно подставляет.
                Ест возможность отменить использование списков?
                  • 1788
                  • 1,103 Posts
                  Quote from: maxpiter at Feb 26, 2011, 03:47 AM

                  Подскажите , а пожно использовать собственные шаблоны? мне <UL> и <Li> вообще не нужны, а он <UL> все равно подставляет.
                  Ест возможность отменить использование списков?
                  параметр &outerTpl=`имя_чака`
                  сам чанк по умолчанию:
                  <ul[+wf.classes+]>[+wf.wrapper+]</ul>

                  &rowTpl=`имя_чанка`
                  сам чанк по умолчанию:
                  <li[+wf.id+][+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]" [+wf.attributes+]>[+wf.linktext+]</a>[+wf.wrapper+]</li>
                  Добавляйте, правьте. Например оставив только [+wf.wrapper+] для outerTpl

                  Но вообще-то меню списком достаточно верное решение и по-умолчанию все нормально отображается как вертикально, так и горизонтально. Остается только править стили.
                    • 18788
                    • 7 Posts
                    большое спасибо, разобрался
                      • 18788
                      • 7 Posts
                      Подскажите пожалуйста как начать отображать дерево с определенной ноды при этом чтобы нода была первой. Я прописываю startid= id ноды, а отображается список детей ноды, а самой ноды нет, хочется увидеть и ноду тоже... huh