We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 4036
    • 239 Posts
    Добрый день!

    Помогите, пожалуйста!
    Нужно было организовать случайный вывод объявлений http://port-realty.ru/index.php?id=167 (слева).

    [!Ditto? &startID=`114, 116, 133, 134, 148, 152` &truncText=`>>` &sortDir=`ASC` &summarize=`3` &paginate=1 &filter=`outputIt,on,1` &randomize=`1` &tpl=`tpl_first_page` !]
    


    В контейнерах-разделах расположены объявления. Объявления выводятся из нескольких контейнеров: 114, 116, 133, 134, 148, 152

    Например:

    Аренда квартир
    Объявление 1
    Объявление 2
    Объявление 3
    Продажа квартир
    Объявление 1
    Объявление 2


    А как можно получить название родительского контейнера?

    Просто сейчас совершенно не понятно из какого раздела объявление...
    Всю документацию перерыла :’( Очень нужна помощь!
      Портфолио - http://wowstudio.pro
      • 785
      • 2,113 Posts
      Можно сделать несколько вызовов Ditto, по одному для раздела, но тогда резко вырастет нагрузка на сервер. Можно в шаблоне вывести, к какому разделу относятся объявления, но в этом случае они все равно пойдут общим списком, без выделения заголовков. Можно какую-то сложную фильтрацию организовать, чтобы все располагалось как надо. Но в конечном счете, как мне кажется, затраты времени на настройку Ditto превысят затраты времени на написание собственного сниппета под конкретные требования. Если кто-то покажет простой путь реализации в Ditto, было бы интересно посмотреть.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 31022
        • 328 Posts
        Не знаю, правильно ли я понял постановку задачи. Но решение предложить попробую, что уже дико, да (:

        У каждого из обрабатываемых документов есть [*parent*]. это id. Соответственно, можно, например, задать документу-объявлению tv, в котором запустить какой-нибуть GetField, который узнает pagetitle parent’a. Ну а потом в шаблоне Дитто выводить уже. Похожий способ я применял в работе, вполне успешно вроде бы.

        Но это будет типа
        [Объявление 1] из раздела [название раздела]
        [Объявление 2] из раздела [название раздела2]


        Дитто принципиально делает одноуровневые списки. А это
        Аренда квартир
        Объявление 1
        Объявление 2
        Объявление 3
        Продажа квартир
        Объявление 1
        Объявление 2
        -- двухуровневый.
          • 785
          • 2,113 Posts
          Quote from: umanuma at Feb 10, 2009, 08:08 AM

          Но решение предложить попробую
          Я это и подразумевал, когда писал «Можно в шаблоне вывести, к какому разделу относятся объявления». Недостаток такого решения – все объявления выводятся вперемешку, что неудобно, даже если написано, к какому разделу относится каждое объявление. Да и задача была – вывести заголовок для каждой группы объявлений. Теоретически можно задать нестандартную фильтрацию и как-то (например, с помощью дополнительного плагина) добавлять заголовки. Но это слишком трудоемкое решение.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 4036
            • 239 Posts
            Quote from: AKots at Feb 10, 2009, 06:02 AM

            Можно сделать несколько вызовов Ditto, по одному для раздела, но тогда резко вырастет нагрузка на сервер. Можно в шаблоне вывести, к какому разделу относятся объявления, но в этом случае они все равно пойдут общим списком, без выделения заголовков. Можно какую-то сложную фильтрацию организовать, чтобы все располагалось как надо. Но в конечном счете, как мне кажется, затраты времени на настройку Ditto превысят затраты времени на написание собственного сниппета под конкретные требования. Если кто-то покажет простой путь реализации в Ditto, было бы интересно посмотреть.

            А если в разделе не будет объявлений? Я тоже уже думала о таком решении, но оно не подходит.
              Портфолио - http://wowstudio.pro
              • 31022
              • 328 Posts
              Я это и подразумевал, когда писал «Можно в шаблоне вывести, к какому разделу относятся объявления».
              Пардон, просто у меня не перевелось это в плоскость конкретного решения. Что касается любой группировки элементов вывода Дитто -- по моим сведениям, это принципиально недостижимо. Любая группировка -- добавление уровня иерархии в результатах. Вариант: теги. Но они все равно не дают иерархических отношений. Как вы правильно и говорите, "они все равно пойдут общим списком".

              Так что штатного решения на Дитто, по-моему, нет.

              Вот Вейфайндер может выводить многоуровнево (:
                • 4036
                • 239 Posts
                Quote from: umanuma at Feb 10, 2009, 02:23 PM

                Я это и подразумевал, когда писал «Можно в шаблоне вывести, к какому разделу относятся объявления».
                Пардон, просто у меня не перевелось это в плоскость конкретного решения. Что касается любой группировки элементов вывода Дитто -- по моим сведениям, это принципиально недостижимо. Любая группировка -- добавление уровня иерархии в результатах. Вариант: теги. Но они все равно не дают иерархических отношений. Как вы правильно и говорите, "они все равно пойдут общим списком".

                Так что штатного решения на Дитто, по-моему, нет.

                Вот Вейфайндер может выводить многоуровнево (:

                Хм, это идея...пойду читать Вайфайндер. Вдруг поможет smiley
                  Портфолио - http://wowstudio.pro
                  • 4036
                  • 239 Posts
                  Quote from: umanuma at Feb 10, 2009, 02:23 PM

                  Вот Вейфайндер может выводить многоуровнево (:

                  Не фига...это для списков многоуровневых...а мне надо просто получить имя контейнера
                    Портфолио - http://wowstudio.pro
                    • 1788
                    • 1,103 Posts
                    Quote from: Bredova at Feb 10, 2009, 03:13 PM

                    Quote from: umanuma at Feb 10, 2009, 02:23 PM

                    Вот Вейфайндер может выводить многоуровнево (:

                    Не фига...это для списков многоуровневых...а мне надо просто получить имя контейнера
                    снипеты: гетПарент, гетФиелд
                      • 785
                      • 2,113 Posts
                      Кстати, случайным образом выбирая из всех разделов, можно получить много объявлений из одного и ничего из другого, что выглядит не слишком хорошо, лучше выбирать случайным образом по несколько объявлений из каждого раздела, а для этого следует несколько раз вызывать Ditto.
                      Но, повторюсь еще раз, проще всего написать свой сниппет, который реализует все идеи и не будет излишне нагружать базу данных.
                        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                        Статьи о MODx, регулярно новые публикации