[pdoTools] 2.4.0 - новый сниппет pdoArchive

Представляю вам новую версию pdoTools с исправлениями, улучшениями и новым сниппетом pdoArchive.

Он предназначен для вывода списка документов сайта с разбивкой по годам, месяцам, дням и является улучшенной версией вот этого скрипта, на который мне надоело давать ссылку.

Посмотреть в работе его можно прямо здесь, а документация вот здесь.

Помимо добавления нового сниппета, исправлены следующие ошибки:
— [#123] Исправлен баг с пропадающей веткой меню, если её родитель не был выбран в pdoMenu.
— [#207] Исправлена работа опции &webLinkClass там же.
— [#193] Добавлен параметр &wrapIfEmpty в сниппете pdoNeighbors.

И сделаны вот такие улучшения:
— Немного ускорена обработка дополнительных параметров pdoResources, которые попадают в плейсхолдеры чанков.
— [#203] Добавлены PCRE (регулярные выражения) модификаторы в Fenom. Надеюсь, автор этого PR Володя Гришин, опишет их подробнее на соответствующей странице документации.

Пакет уже доступен в репозитории, можно обновляться и писать отзывы.
Василий Наумкин
21 апреля 2016, 14:16
modx.pro
2
3 592
+26

Комментарии: 13

brioni
21 апреля 2016, 17:51
+1
Обновился. Спасибо!
    Владимир
    21 апреля 2016, 18:12
    +1
    Как же удобно! Спасибо, Василий!
      Konstantin
      21 апреля 2016, 19:47
      +1
      спасибо
        Владимир Дремучий
        21 апреля 2016, 23:32
        0
        Спасибо. Наверное нашел багу, если конечно это так
          Василий Наумкин
          21 апреля 2016, 23:38
          0
          Это не бага, это криво перенесённые ресурсы с bezumkin.ru — у них не был проставлен верный publishedon.

          Поправил.
          Василий Столейков
          25 апреля 2016, 00:07
          0
          — Немного ускорена обработка дополнительных параметров pdoResources, которые попадают в плейсхолдеры чанков.
          Не уверен точно, но похоже после этого обновления pdoTools перестал угадывать одинарные кавычки в параметре &where.

          У меня был построен целый механизм на этой особенности, т.к. засунуть переменную в where на Fenome у меня получалось только если обернуть всё в двойные кавычки, а внутренние ключи-значения в одинарные.

          Например такой вариант у меня срабатывал на УРА:
          'where' => "{ 'id':{$pageid} }",
          Эта особенность связана с тем, что переменные фенома могут выполняться в двойных кавычках.
          Сейчас же pdoTools перестал понимать внутренние одинарные кавычки и у меня всё сломалось.
          Вариант с экранированием не срабатывает:
          'where' => '{ "id":\{$pageid\} }',

          Как же тогда мне сейчас засунуть переменную в where-строку?

          P.S. Специально проверил всё это на чистом тестовом сайте — всё подтвердилось…
            Василий Наумкин
            25 апреля 2016, 00:15
            1
            +1
            1. Дополнительные параметры вообще не про то.

            2. Это неправильный JSON, почитай стандарты — там должны быть двойные кавычки. Да и переменную Fenom не нужно запихивать в фигурные скобки.
            { 'id':{$pageid} }
            Правильно — вот так
            '{"id":' ~ $pageid ~ '}'
            никаких особенностей не нужно, ты просто делаешь что-то не так.

            3. Зачем вообще писать JSON, если pdoResources понимает массивы?
            'where' => ['id' => $pageid],
              Василий Столейков
              25 апреля 2016, 06:46
              0
              1. Ок, я только предположил.
              2. А вот за решение — спасибо! Не встречался с таким решением, СПАСИБО что выручил и подсказал что-то новенькое!
              3. pdoResources — да, принимает, а вот getTickets нет. Мой JSON написан для тикетов.
              Ещё раз СПАСИБО за быстрый ответ!!!
            mngatoff
            25 апреля 2016, 14:00
            0
            А у меня ajaxMode=`button` и &ajaxHistory=`1` отвалились в связке с mfilter2. Не появляется page в адресе и page.nav прячется. Если его насильно открыть, то по нему все равно пагинация не работает (( перебрасывает на первую страницу.
              Tanya
              18 августа 2016, 19:19
              0
              а не подскажете решили эту проблему? а то мне тоже ajaxMode=`button` не настроить.
                mngatoff
                18 августа 2016, 19:58
                +1
                в последних версиях все рпботает
                  Alex Zhuravlev
                  18 марта 2018, 19:09
                  0
                  Работает но криво, mfilter2 только без параметра &ajaxHistory (в документации)
                  а по факту если в default.js убрать delete(tmp['page']) то при ajax пагинации ссылка меняется на ?page=2 но при обновлении страницы она убирается, но при этом остается на той же странице.
              Илья Александрович
              26 марта 2019, 15:46
              0
              Приветствую.
              pdoArchive
              dateField — createdon — Поле ресурса для получения даты документа: createdon, publishedon или editedon.
              Можно ли как то dateField передать дату из TV поля?
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                13