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

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

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

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

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

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

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

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

Yar
Yar
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 поля?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.