We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32523
    • 24 Posts
    Вопрос уже поднимался на форуме но что-то я не совсем понял что да как.
    Нужно организовать меню...

    Структура документов сайта:

    Документ1
    Документ 1_1
    Документ 1_2
    Документ 1_2_1
    Документ 1_2_2
    Документ 2
    Документ 2_1
    Документ 3
    . . . . . . . . . . . . . .
    и тд.

    Меню 1 (горизонтальное) по родительским документам level =1
    (тут проблем не возникло laugh)
    Вид меню1:

    Документ 1 | Документ2 | Документ3 | Документ 4 | и тд.


    Меню2 (список справа) huh
    При выборе пункта меню допутим Документ 1 должно получиться:

    Документ 1(выбран) | Документ2 | Документ3 | Документ 4 | и тд.

    Вид меню 2:

    Документ 1 (заголовок меню 2)
    Документ 1_1
    Документ 1_2 (вид родительского документа)
    Документ 1_3


    При выборе Документ 1_2 должно получиться:

    Документ 1 (заголовок меню 2)
    Документ 1_1
    Документ 1_2 (вид родительского документа)
    Документ 1_2_1
    Документ 1_2_2
    Документ 1_3


    Для формирования меню2 пытаюсь использовать парамент &IncludeDocs

    В парамет нужно передать список id дочерних документов.. Как сформировать такой список???
    Может есть вариант попроще... huh
      • 32523
      • 24 Posts
      Вот примерно то что хочется видеть http://modxcms.com/template-variables.html
        • 31022
        • 328 Posts
        Может, я чего не понимаю, но все что вы описываете реализуется стандартными параметрами и классами Wayfinder. Посмотрите доки, там есть parentClass, hereClass, selfClass и пр. Еще есть &parentRowTpl и &parentRowHereTpl.

        Зачем вам здесь includeDocs?
          • 32523
          • 24 Posts
          На сколько я понял классы используются для css шаблонов, т.е для визуального представления...  а мне нужно указать какие именно докумны должны попасть в меню  ...  и выбор этот должен зависеть от другово меню
            • 32523
            • 24 Posts
            Сделал без использования фильтра incluDocs

            Горизонтальное меню :
            [[Wayfinder? &startId=`0` &level=`1` &outerClass=`cl_menu` &hereClass=`current` &cssTpl=`menu_css` &outerTpl=`menu_outer` &rowTpl=`menu_row` &hereTpl=`menu_here` ]]
            красиво выводится с заданным шаблом все как пологается

            А вот со вторым меню проблема как вариант можно вывести так
            [[Wayfinder? &startId=`[*id*]` &hideSubMenus=`true`]]
            Все хорошо пока не выберешь ссылку из второго меню..... после выбора ссылки выбранный элемент первого меню перестает быть активным... id дока меняется и правое меню уже выглядит не так как нужно :’(

            Как вывести меню 1 и меню2 так чтобы при выборе элемента меню 2 отображался выбранный элемет меню1 и меню2 одновременно huh
              • 785
              • 2,113 Posts
              Quote from: wise at May 19, 2008, 09:37 PM

              А вот со вторым меню проблема как вариант можно вывести так
              [[Wayfinder? &startId=`[*id*]` &hideSubMenus=`true`]]
              [!Wayfinder? &startId=`[[UltimateParent]]` &hideSubMenus=`true`!]
                Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                Статьи о MODx, регулярно новые публикации
                • 785
                • 2,113 Posts
                Quote from: wise at May 19, 2008, 09:37 PM

                после выбора ссылки выбранный элемент первого меню перестает быть активным...
                При стандартном вызове активный элемент первого меню будет отличаться от других - class="active".
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 32523
                  • 24 Posts
                  Akots, спасибо grin в самую точку ... все работает только вот с активностью элемента первого меню не совсем понятно...
                  Всместо класса activ используется &hereClass=`current` при выборе элемента второго меню этот клас уже не указывается в первом меню huh
                    • 785
                    • 2,113 Posts
                    Так я же написал, что при стандартном вызове. Вы все шаблоны переделали - кто знает, что там выводится. При [[Wayfinder? &startId=`0` &level=`1`]] все работает правильно (по крайней мере у меня).
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации
                      • 32523
                      • 24 Posts
                      Вот конкретный пример меню 1 выводим как       [[Wayfinder? &startId=`0` &level=`1`]]  и выбираем пунк меню документ 2

                      получим следующий код

                      <ul>
                              <li><a href="http://localhost/"><b>Документ 1</b></a></li>
                              <li class="active"><a href="/index.php?id=2"><b>Документ2</b></a></li>
                              <li><a href="/index.php?id=3"><b>Для бухгалтера</b></a></li>
                      <ul>

                      В стиле прописываем как показвать li.active и все отлично отображается

                      Второе меню выводится   [!Wayfinder2? &startId=`[[UltimateParent]]` &hideSubMenus=`true`!]

                      Получается следующие

                      <ul>
                               <li><a href="/index.php?id=4" title="Документ 2_1" >Документ 2_1</a></li>
                               <li><a href="/index.php?id=5" title="Документ2_2" >Документ 2_2</a></li>
                               .....
                      <ul>


                      При выборе элемента второго меню, класс activ в первом меню не ставится
                      <ul>
                              <li><a href="http://localhost/"><b>Документ 1</b></a></li>
                              <li><a href="/index.php?id=2"><b>Документ2</b></a></li>
                              <li><a href="/index.php?id=3"><b>Для бухгалтера</b></a></li>
                      <ul>

                      а ставится во втором меню
                      <ul>
                               <li><a href="/index.php?id=4" title="Документ 2_1" >Документ 2_1</a></li>
                               <li class="active"> <a href="/index.php?id=5" title="Документ2_2" >Документ 2_2</a></li>
                               .....
                      <ul>

                      можно как то сделать что бы и впервом и во втором оставался class="active"   huh