We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16545
    • 358 Posts
    Доброго времени суток!

    Столкнулся с такой проблемкой:
    1) имеется список фирм, каждая со своим типовым темплейтом
    2) фирма имеет определеный статус (TV member) - VIP, normal, low
    3) нужно выводить список фирм в такой очередности по статусу - сначала VIP, потом normal и напоследок low.
    4) обязательно использовать pagination.

    Пока в голову пришло только такое решение:

    <div id="ditto_pages" align="right">Cтр. [+one_pages+]<br /></div>
    [[Ditto? &id=`one` &parent=`[*id*]` &summarize=`10` &paginate=`1` &sortBy=`menuindex DESC` &tpl=`firma_vip` &hideFolders=`1` &depth=`3`  &tagDelimiter=`,` &tagData=`member` &tagMode=`onlyTags` &tags=`VIP`]] 
    [[Ditto? &id=`one` &parent=`[*id*]` &summarize=`10` &paginate=`1` &sortBy=`menuindex DESC` &tpl=`firma_normal` &hideFolders=`1` &depth=`3`  &noResults=`noResult` &tagDelimiter=`,` &tagData=`member` &tagMode=`onlyTags` &tags=`normal`]]
    [[Ditto? &id=`one` &parent=`[*id*]` &summarize=`10` &paginate=`1` &sortBy=`menuindex DESC` &tpl=`firma_low` &hideFolders=`1` &depth=`3`  &noResults=`noResult` &tagDelimiter=`,` &tagData=`member` &tagMode=`onlyTags` &tags=`low`]]
    <div id="ditto_pages" align="right">Cтр. [+one_pages+]</div> 


    Но при таком подходе нарушается нормальная разбивка на страницы.

    Ваши соображения по этому поводу?
      • 1788
      • 1,103 Posts
      &id=`one`
      &id=`two`
      &id=`zero`
        • 16545
        • 358 Posts
        Ну достим у меня vip=5 документов
        normal=15 документов
        low=30 документов
        Т.е. всего 50 документов - каким образом будет разбивка на 5 страниц по 10 на каждой.

        Но каждый вызов ditto будет делать pagination заново, и каждый со своим "&id" (исходя из вашего варианта).
        Дальше самое интересное (нужно же показывать страницы):
        1) первый ditto вызов с 5 документами сделает разбивку только для 1 страницы.
        2) если используется &id=`ID` - обязательно нужно добавлять в плейсхолдер +ID_pages+
        Получается
        <div id="ditto_pages" align="right">Cтр. [+one_pages+]
        </div>

        И покажет вместо 5 только 1 страницу huh

        ---------------
        Quote from: antey at Aug 17, 2008, 09:20 AM

        &id=`one`
        &id=`two`
        &id=`zero`
          • 36823
          • 334 Posts
          Можете сделать так, статус – папка, или не папка. А сортировать по индексу в меню, соответственно индексы у страниц должны соответствовать вашей иерархии. Или использовать filter в Ditto, что гораздо удобнее. Статус - 1, 2, 3... и т. д., режим фильтрации - 3, 4, 5, 6, как душа пожелает. Вызывать Ditto один раз. Выведет как вам нужно.
            • 16545
            • 358 Posts
            Все осложняется текущей структурой, которую врядли получится поменять (т.к. более 500 документов):
            Category1
            Subcategory1
            Firm1 (index1)
            ....
            FirmN (indexN)
            Subcategory2
            Firm1 (index1)
            ....
            FirmN (indexN)
            SubcategoryN
            Firm1 (index1)
            ....
            FirmN (indexN)
            CategoryN

            Ditto при вызове должен обрабатывать документы только в одной категории.

            Кстати, а разве фитрация меняет порядок расположения документов? Вроде как за сортировку отвечает только "sortBy"...

            Quote from: Andrei at Aug 17, 2008, 04:13 PM

            Можете сделать так, статус – папка, или не папка. А сортировать по индексу в меню, соответственно индексы у страниц должны соответствовать вашей иерархии. Или использовать filter в Ditto, что гораздо удобнее. Статус - 1, 2, 3... и т. д., режим фильтрации - 3, 4, 5, 6, как душа пожелает. Вызывать Ditto один раз. Выведет как вам нужно.