We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 872
    • 22 Posts
    Как можно указать системе, чтобы сортировка происходила по дате?

    Сниппет вызываю так -

    [[Ditto? &parents=`185` &depth=`1` &tpl=`blogs` &paginate=`1` &display=`3` &sortBy=`date_blog` &dateSource=`date_blog`  &sortDir=`DESC` &dateFormat=`%d-%m-%Y %H:%M:%S`]]
    


    где date_blog - это параметр-TV с типом данных (точнее тип ввода) - "Date".

    При редактировании дочерних документов (дочерних от 185), в поле даты появляется календарик выбора даты и сохраняется значение вида "19-10-2010 16:43:00".

    Но при выводе на экран сортировка получается по первым двум цифрам, т.е. 25 выше, чем 20, а месяц, время и год просто отбрасываются.

    Собственно хотелось бы сделать сортировку именно по полной дате, а не по первым двум цифрам.
      • 10366
      • 5 Posts
      попробуй
      &dateFormat=`%d.%m.%y`


      [!Ditto? &startID=`12` &tpl=`newsarсhive` &paginate=`1` &display=`20` &sortBy=`pub_date` &sortDir=`desc` &extenders=`summary,dateFilter` &dateSource=`pub_date` &dateFormat=`%d.%m.%y` &noResults=`Пока нет новостей`!]
        • 872
        • 22 Posts
        И с &dateFormat=`%d.%m.%y` и с &dateFormat=`%d.%m.%Y` всё тоже самое. Если &sortDir=`DESC` заменить на ASC, тогда наоборот, первым идёт 5, далее 12, 20, 25 и т.д., но только по дням, месяца и года отбрасываются.
          • 16278
          • 928 Posts
          date_blog - это параметр-TV с типом данных (точнее тип ввода) - "Date"
          Надо, чтобы тип вывода (визуальный компонент, Widget) в определении TV был Unixtime.
          smiley KP
            • 872
            • 22 Posts
            Спасибо! Поставил Unixtime, формат оставил прежним (&dateFormat=`%d-%m-%Y %H:%M:%S`) - и всё заработало.
              • 872
              • 22 Posts
              Чтобы не создавать новой темы, спрошу тут.

              Имеется блог с разбиением по страницам. Открывается он так - http://site.ru/blog, на этой странице есть статьи + в отдельной колонке ссылки - "october 2010", "august 2010" и т.д., при клике на подобную ссылку должна открываться та же самая страница, но со статьями за выбранный месяц, а не со всеми как по умолчанию.

              Вижу это примерно так (без привязки к какому-либо языку) -

              if (url='http://site.ru/blog') [ditto "выводим все статьи"]
              else [ditto filter='october 2010'] // где url в ссылках к примеру такой - http://site.ru/blog?id=october_2010 // выводим за определённый месяц
              


              Как правильно это реализуется в modx?
                • 872
                • 22 Posts
                Начал делать следующим образом - для документа "блог" создаю документы "октябрь 2010", "ноябрь 2010" и т.д., а в них уже документы с конкретными днями.

                При открытии самого родительского документа "блог", получаем список всех документов по дням. Чтобы документ "блог" не воспринимал папки "октябрь 2010" и т.д., ставлю ему при вызове &hideFolders=`1` &depth=`2`. + paginate и display.

                Здесь же чуть ниже вывожу tv-параметр папок с месяцами, но уже таким образом - &depth=`1`, т.е. чтобы считывались только папки-масяцов, без их дочерних документов-дней. Никаких paginate и display тут нет.

                Проблема в следующем - эти два вызова ditto почему-то очень тесно связаны, при переходе по страницам (paginate=`1`), во втором вызове, месяца выводятся случайным образом, иногда вообще пишет - записей нет.

                Из-за чего так происходит и как это исправить? Подозреваю, что каким-то образом виноват шаблон, который задан для папок-месяцов, а может и не в нём дело.
                  • 9085
                  • 630 Posts
                  Quote from: Alcorn at Dec 07, 2010, 07:59 AM

                  Проблема в следующем - эти два вызова ditto почему-то очень тесно связаны...
                  Если я правильно понял, то развязать их можно, указав разные id
                    Правильно заданный вопрос повышает вероятность получения нужного ответа.
                    Что-то не работает? Загляните в лог ошибок!
                    Есть проблема? "Локализуйте" её!
                    Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
                    • 872
                    • 22 Posts
                    Да, спасибо, id помогло. Причём если поставить id у первого вызова, то перестаёт работать разбивка по страницам, кнопки "назад" и "далее" просто исчезли (ответ интересен на будущее). А вот если поставить id только у второго вызова (который по месяцам), тогда всё нормально. + оказывается при paginate нужно снимать галочку кэширования, иначе не работает.

                    Вроде всё это мелочи, но время было потрачено немало на поиск решений. С блогом вобщем то всё, работает как надо.
                      • 9085
                      • 630 Posts
                      Quote from: Alcorn at Dec 07, 2010, 08:34 AM

                      Да, спасибо, id помогло. Причём если поставить id у первого вызова, то перестаёт работать разбивка по страницам, кнопки "назад" и "далее" просто исчезли (ответ интересен на будущее).
                      Пагинация тоже id "воспринимает" http://modxcms.com/forums/index.php?topic=21199.0

                      Кой-чего по Ditto: подборка ссылок по Ditto, Reflect + Ditto

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