We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 22675
    • 54 Posts
    Добрый день. Есть задача: выводить меню в виде дерева. Но ситуация осложняется тем, что некоторые узловые документы не имеют контента, а служат лишь для удобства навигации, структурируя дерево элементов.

    Надо, чтобы эти узлы не отображались ссылкой. И, желательно, чтобы у них был отдельный стиль.

    Подскажите, можно ли для этих целей использовать Wayfinder, или проще сразу засесть за написание собственного сниппета?

    Подробнее о задаче
      • 26883
      • 137 Posts
      Что значит "не имеют контента"? Пустое поле *content*? Или в этом узле ("папке") нет и вложенных ресурсов?

      Просто так, ради "структурирования", делать не стоит. Уж напишите что нибудь, наподобие "здесь ни хрена нет", или HP вставьте.
      Если есть вложенные ресурсы, то в шаблоне такой страницы надо просто предусмотреть дерево вложенных ресурсов. Т.е. сама страница будет древовидным меню. Тогда и контент может быть или пустой (это будет незаметно), а могут быть и какие-то пояснения. Не стоит ради сомнительных идей ломать концепцию MODx.

      Но, если "очень хоцца"...
      Внешним видом дерева в Wayfinder управляем через чанки. Не надо свой сниппет ради этого изобретать. Сделайте в чанке ссылку не на Заголовке, а на Расширенном заголовке или Описании и оставляйте эти поля пустыми для таких сомнительных ресурсов. Когда вволю помучаетесь, такие идеи отпадут сами собой.
        • 785
        • 2,113 Posts
        Quote from: ShaggyDoc at Nov 25, 2010, 04:37 AM

        Сделайте в чанке ссылку не на Заголовке, а на Расширенном заголовке или Описании и оставляйте эти поля пустыми для таких сомнительных ресурсов. Когда вволю помучаетесь, такие идеи отпадут сами собой.
        Вы не поняли, как я думаю, идею. Надо не пустое место в меню выводить, а выводить название папки, но не делать соответствующую ссылку. То есть строится дерево документов, и конечные документы делаются ссылками, а папки (возможно, не все) – простым текстом. И это не такая плохая идея, как Вы пытаетесь представить – в обычной файловой системе есть папки и файлы, а в MODx «папки» одновременно являются «файлами», что иногда не совсем удобно.
        Отвечая на изначальный вопрос – в папках можно поставить сниппет FirstChildRedirect, тогда не страшно, что они будут в меню. Также можно сделать, чтобы ВСЕ папки выводились в виде теста, а не ссылок (для этого надо использовать собственные шаблоны Wayfinder). Если же текстом должны выводиться только некоторые папки, причем алгоритм выбора заранее неизвестен, Wayfinder, как мне кажется, с этим не справится, хотя можно попробовать установить параметр useWeblinkUrl, создать папку типа ссылка и в качестве URL ввести нужное название (сам не пробовал, может и не получится). Еще можно написать плагин, которые удаляет лишние теги <a> в выбранных папках, но лично я написал бы свой сниппет, мне кажется, это проще всего.
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 22675
          • 54 Posts
          AKots, благодарю. Вы лучше всего поняли проблему.

          Чтобы не быть голословным, перейду к конкретной задаче.

          Смотрим на меню в левой колонке

          Все документы собраны в логическую цепочку.

          DRL
          |_Logan
          |_Laguna

          При этом Logan и Laguna являются категориями. Конечно, можно и там и сям сделать пустой, малоинформативный документ, вроде "в этом разделе вы можете прочесть бла-бла-бла ссылки". Но, думаю, это ни к чему, и значимость подобных страниц будет равна нулю. Всё предельно ясно из дерева документов.

          Так же думаю, что задача моя достаточно частовстречаемая. Поэтому и задал этот вопрос, прежде чем кропать собственный сниппет. Не ожидал, что нет готового решения.

          Теперь разрешите вопросы:

          "HP вставьте" -- что такое HP?

          "сниппет FirstChildRedirect" -- из названия понятно, что ведёт на первый дочерний документ. Уже лучше, чем в никуда. Но не кузяво.

          "Еще можно написать плагин, которые удаляет лишние теги <a> в выбранных папках," -- пока не готов к созданию плагинов, знаний MODx не хватает.

          "но лично я написал бы свой сниппет, мне кажется, это проще всего." -- я соглашусь с этим. Пожалуй так и сделаю. А то писать плагин чтобы переопределить действия другого сниппета, как то уж избыточно это получается...

          Благодарю.
            • 9085
            • 630 Posts
            Эм.. А что мешает в WayFinder сделать шаблон для "папки", в котором не будет ссылки?

            Читать
            &parentRowTpl — шаблон для любого документа, являющегося папкой

            Ещё (если интересно, конечно) можно сделать Javascript-раскрывалку (кликнул на папку, он тебе вывалил подменю) + для "рюшечек" можно добавить "дерево" каталогов с плюсиками-минусиками. Искать "деревья на javascript". (подробный пример - с использованием Jquery и куча различных деревьев)

            Удачи!

            ps. И как факт, все-таки "папки" можно заполнить небольшим вступительным текстом (о чём раздел) + списком (горизонтальным подменю?) ссылок на нижележащие разделы. Если есть страница site.ru/first/second/ , то хорошим тоном считается наличие страницы site.ru/first/. Хотя, конечно, это не обязательно. smiley

              Правильно заданный вопрос повышает вероятность получения нужного ответа.
              Что-то не работает? Загляните в лог ошибок!
              Есть проблема? "Локализуйте" её!
              Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
              • 785
              • 2,113 Posts
              Quote from: esche at Nov 25, 2010, 07:20 AM

              Эм.. А что мешает в WayFinder сделать шаблон для "папки", в котором не будет ссылки?
              А как определить – в какой папке есть ссылка, а в какой нет? Я выше написал – если ВСЕ папки без ссылок, можно поменять шаблон, а если только некоторые, непонятно как можно сделать (хотя я там же предложил возможный вариант).
                Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                Статьи о MODx, регулярно новые публикации
                • 9085
                • 630 Posts
                AKots, думаю, если Менеджер "ручками" задаст, то будет правильно:

                * &categoryFoldersTpl — шаблон для папок-категорий. Определяются установкой пустого шаблона или установкой поля атрибутов ссылки в rel="category"
                Там же
                ps. Сам не проверял, но что-то подсказывает, что должно подойти.

                  Правильно заданный вопрос повышает вероятность получения нужного ответа.
                  Что-то не работает? Загляните в лог ошибок!
                  Есть проблема? "Локализуйте" её!
                  Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
                  • 785
                  • 2,113 Posts
                  Quote from: esche at Nov 25, 2010, 02:38 PM

                  AKots, думаю, если Менеджер "ручками" задаст, то будет правильно:
                  Как? Например, документ с id=10 – папка и должна выводиться ссылкой, а документ с id=20 – папка, но должна выводиться как текст. Как можно задать что-то, что понимал бы Wayfinder?
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 9085
                    • 630 Posts
                    еще раз цитирую предыдущий пост:
                    &categoryFoldersTpl — шаблон для папок-категорий. Определяются установкой пустого шаблона или установкой поля атрибутов ссылки в rel="category"
                    ps. Проверял, работает

                    Не ожидал, что нет готового решения.
                    Есть оно.. Пользуйте.
                      Правильно заданный вопрос повышает вероятность получения нужного ответа.
                      Что-то не работает? Загляните в лог ошибок!
                      Есть проблема? "Локализуйте" её!
                      Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
                      • 785
                      • 2,113 Posts
                      Да, был невнимателен, categoryFoldersTpl должно помочь.
                        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                        Статьи о MODx, регулярно новые публикации