We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 23506
    • 156 Posts
    Включил использовать вложенные документы, все хорошо, но modx использует в качестве вложенных документов неопубликованныее документы, а нужно чтобы если родитель неопубликован, он не подставлял алиас.
      • 16545
      • 358 Posts
      Засветите plz свой Ditto (будет понятнее в чем проблема)
        • 23506
        • 156 Posts
        а причем тут дитто? huh
        Вложеннолсть простая
        Раздел (10)(неопубликов)
        -подраздел(11)(неопубликов)
        -документ(12)(опублик)
        получаю урл http://www.site.ru/10/11/12.html
        а надо hht://www.site.ru/12.html (а в некоторых местах использовать выше тип чпу) т.е. должно все зависеть от публикованного документа.
          • 16545
          • 358 Posts
          В конфигурации нужно:
          1) Use friendly alias path - off
          2) A unpublish документы открываются только потому, что ты сидишь в админке.

          Quote from: pixelranger at Sep 06, 2008, 03:06 PM

          а причем тут дитто? huh
          Вложеннолсть простая
          Раздел (10)(неопубликов)
          -подраздел(11)(неопубликов)
          -документ(12)(опублик)
          получаю урл http://www.site.ru/10/11/12.html
          а надо hht://www.site.ru/12.html (а в некоторых местах использовать выше тип чпу) т.е. должно все зависеть от публикованного документа.

            • 785
            • 2,113 Posts
            Quote from: labasus at Sep 06, 2008, 04:52 PM

            1) Use friendly alias path - off
            Чем такие советы давать, лучше промолчать. Поставлена ведь задача убрать из адреса названия не всех родительских документов, а только неопубликованных. Ясно же написано «Включил использовать вложенные документы», и совет выключения этого параметра, причем почему-то данный для используемого английского языка – явный бред.
            По теме – я не знаю, как это сделать, и вызывает определенное сомнение целесообразность такого подхода. Не слишком логично вообще использовать вложенные документы, если родительский не опубликован.
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 28814 ☆ A M B ☆
              • 1,086 Posts
              Quote from: AKots at Sep 06, 2008, 09:27 PM

              По теме – я не знаю, как это сделать, и вызывает определенное сомнение целесообразность такого подхода. Не слишком логично вообще использовать вложенные документы, если родительский не опубликован.
              Знаешь, сам как раз задумался о такой возможности. Думаю, это было бы правильно вообще. Для чего посетителю вникать во внутреннюю структуру системы управления. Сниппет Breadcrumbs, к примеру, позволяет обходить все неопубликованные документы, однако MODx все равно генерирует вложенные URL с учетом неопубликованных документов. На мой взгляд, это упущение со стороны разработчиков.
              К вопросу о целесообразности, представь себе такую структуру (как раз работаю над подобным сайтом):
              SITE_ROOT
              |- English (1)
              |-- Folder (4, pub)
              |--- Folder (13, pub)
              |--- Document (14, pub)

              |-- Folder (5, pub)
              |-- Folder (6, pub)
              |-- Document (7, pub)
              |-- Document (8, pub)
              |-- Folder (9, unpub)

              |--- Folder (10, pub)
              |--- Folder (11, pub)
              |--- Document (12, pub)

              ...
              |- Russian (2, pub)
              ...
              |- Latvian (3, pub)
              ...
              где первый параметр в скобке обозначает ID документа, а второй - опубликован (pub) или скрыт (unpub) документ на сайте.
              Т.е. в данном случае у нас 3-ех язычный сайт, в каждом языке пусть одинаковое количество элементов.
              Дизайнер нарисовал мне ДВА меню. Одно - верхнее, второе - слева.
              Меню слева - основное, в нем хранятся все важные документы сайта. Возьмем в моем примере английский язык, тогда меню у меня будет создаваться из документов с ID c 4-го по 8-ое, а также из всех вложенных в них документов соответственно, т.е. как-то так:


              |-- Folder (4, pub)
              |--- Folder (13, pub)
              |--- Document (14, pub)

              |-- Folder (5, pub)
              |-- Folder (6, pub)
              |-- Document (7, pub)
              |-- Document (8, pub)
              ...

              НО у меня есть еще верхнее меню! Пусть в нем будут находиться какие-то второстепенные документы, которые не относятся логически к разделам левого меню. Имеет смысл их выделить в некоторую отдельную папку, в моем примере это папка с ID=9. Я делаю эту папку невидимой, она фактически не несет никакой информации, но создает логику разделения данных в дереве MODx - просто для удобства работы с сайтом.

              Тогда верхнее меню мне будет предоставлять следующие документы:

              |--- Folder (10, pub)
              |--- Folder (11, pub)
              |--- Document (12, pub)

              ...
              Теперь при создании сниппета  (или использовании уже готовых Ditto или Wayfinder) для вывода левого меню в английском языке я легко определяю, что мне нужно вывести дочерние документы папки с ID = 1, но не выводя неопубликованные документы и папки в этом меню. то же самое с верхним меню - я вывожу все дочерние документы папки с ID = 9.

              Вуаля - все довольны. Однако нет sad. Когда выводятся документы верхнего меню, я вижу в URL что-то типа такого:
              site.com/1/9/10/
              site.com/1/9/11/

              Вопрос - для чего мы выводим в URL адрес неопубликованной страницы? Я не хочу показывать это посетителю сайта. Более-менее продвинутый юзер легко может набрать адрес site.com/1/9/, чтобы посмотреть - что-ж там такое есть. А нету там ничего. В лучшем случае, редиректом его отправят на главную страницу или на специальную страницу 404 Not Found. В худшем - посыпятся какие-то системные сообщения об ошибках. Кроме того, нарушается логика разделения информации. В моем примере нет никакой вложенности, т.е. ее не должно быть для пользователя, он должен понимать, что верхнее меню начинается с корня сайта и только оттуда, т.е. он должен видеть такие адреса:
              site.com/1/10/
              site.com/1/11/

              Вот собственно чего хочется и о чем ведет речь топикстартер.

              И сразу же быстрый ответ для него же - к сожалению, пока MODx не предоставляет такой возможности. Хотя.. если порыться в исходниках, думаю, можно что-то придумать, но это уже будет хакинг кода, который не будет работать в новых версиях.
                Разработка сайтов и программных модулей на MODX.
                Опыт работы на MODx с 2005 года. Высокое качество.
                Компания Baltic Design Colors: http://www.bdcolors.ru.
                • 785
                • 2,113 Posts
                Ну, очень много написано... rolleyes

                А если вкратце, обратить внимание надо на два момента:

                Quote from: Igor at Sep 07, 2008, 07:46 AM

                Я делаю эту папку невидимой, она фактически не несет никакой информации, но создает логику разделения данных в дереве MODx - просто для удобства работы с сайтом.
                и
                Quote from: Igor at Sep 07, 2008, 07:46 AM

                В моем примере нет никакой вложенности, т.е. ее не должно быть для пользователя, он должен понимать, что верхнее меню начинается с корня сайта и только оттуда

                Фактически структура документов MODx предлагается отличной от той, что выдается посетителю сайта. Отсюда и возникает проблема. Если для пользователя документы находятся в корне сайта, то и надо их туда помещать, а не создавать папку, особенности функционирования которой не реализованы в MODx. Возможно, это потребует больших усилий, но будет более логичным.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 28814 ☆ A M B ☆
                  • 1,086 Posts
                  Quote from: AKots at Sep 07, 2008, 09:18 AM

                  Ну, очень много написано...
                  Сорри, я пытался как-то поподробнее smiley Может и перестарался.

                  Quote from: AKots at Sep 07, 2008, 09:18 AM

                  Фактически структура документов MODx предлагается отличной от той, что выдается посетителю сайта. Отсюда и возникает проблема. Если для пользователя документы находятся в корне сайта, то и надо их туда помещать, а не создавать папку, особенности функционирования которой не реализованы в MODx. Возможно, это потребует больших усилий, но будет более логичным.

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

                  Я вижу проблему в том, что в MODx нет отдельного рабочего документа - контейнера. Эти функции на себя берет папка, которая по сути тот же веб-документ. С другой стороны, плодить сущности тоже не хотелось бы, чтобы не путать конечного пользователя, поэтому можно остановиться на текущей системе Папка-Документ-Ссылка, но добавив описанную выше возможность.

                  P.S.: Оффтоп - 666-ой пост на форуме smiley
                    Разработка сайтов и программных модулей на MODX.
                    Опыт работы на MODx с 2005 года. Высокое качество.
                    Компания Baltic Design Colors: http://www.bdcolors.ru.
                    • 785
                    • 2,113 Posts
                    Quote from: Igor at Sep 07, 2008, 09:33 AM

                    Всем было бы так только удобнее при такой возможности, т.к. позволяет создавать более систематическую организацию документов в дереве MODx. Тем более, что реализация этой функциональности скорее всего не так уж и сложна.
                    Если добавят какую-то функциональность, то это будет совсем другой разговор, а пока использование неопубликованной папки с опубликованными документами – не слишком, на мой взгляд, логичное решение. Впрочем, возможно, при данных обстоятельствах другие варианты еще хуже.
                    В итоге, если вернуться к началу проблемы, есть три пути – не использовать неопубликованные папки для хранения опубликованных документов (решая возникающие задачи иным способом), поправить что-то в исходном коде MODx (а лично я к этому отношусь достаточно спокойно) или смириться с тем, что добавляются ненужные пути (так, наверное, поступает большинство).
                    Ну, еще можно убрать в ЧПУ использование вложенных документов, что лично я и сделал бы, если бы у меня возникла такая проблема. В принципе для определения позиции страницы внутри сайта посетителю лучше вывести «хлебные крошки», а не предлагать разбираться в хитростях построения URL.
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации
                      • 23506
                      • 156 Posts
                      А где именно в классе DocumentParser обрабатываются перенаправленные из файла htaccess данные?
                      RewriteCond %{REQUEST_FILENAME} !-f
                      RewriteCond %{REQUEST_FILENAME} !-d
                      RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]