- + Параметры →
rowTpl
→ Доступные плейсхолдеры:- +
[+allColumnValuesObjectJson+]
: Новый плейсхолдер. Содержит значения всех колонок в виде JSON-объекта, где ключи — исходные ключи колонок, значения — значения. - +
[+
columnKey.
nestedProperty+]
,[+col
columnNumber.
nestedProperty+]
: Новые плейсхолдеры. Содержат значения вложенных свойств, когда значение колонки является объектом.
- +
- *
\ddTools::getTpl
используется вместо$modx->getTpl
(стало чуть меньше багов). - * Внимание! Требуется (MODX)EvolutionCMS.libraries.ddTools >= 0.62.
- + Параметры →
inputString
: Также может быть задан, как HJSON или Query formatted string. - * Параметры →
outerTpl
: Плейсхолдеры[+rowY.colX+]
работают нормально даже если исходный объект имеет произвольные строковые ключи.
- * Параметры:
- *
columns
: Исправлена некорректная работа со значением0
. - *
colTpl
: Исправлена некорректная работа с пустым значением.
- *
- * Параметры →
colTpl
: Улучшена поддержка различного количества колонок в разных строках.
- * Параметры:
- +
inputString
: Поддерживает JSON с любым уровнем вложенности. - +
colTpl[$i]
→ Плейсхолдеры:- +
[+columnIndex+]
: Новый плейсхолдер. Содержит номер колонки, начинающийся с0
. - +
[+columnKey+]
: Новый плейсхолдер. Содержит ключ колонки. Полезно для объектов или ассоциативных массивов вinputString
, для индексировнных массивов плейсхолдер эквивалентен[+columnIndex+]
. - +
[+val+]
: Если значение колонки является массивом/объектом, оно будет сконвертировано в строку JSON (это полезно, когдаinputString
содержит JSON с более чем 2 уровнями вложенности).
- +
- +
rowTpl
→ Плейсхолдеры:- +
[+allColumnValues+]
: Новый плейсхолдер. Содержит значения всех колонок, объединённые черезcolGlue
. См. README → Примеры. - +
[+
columnKey+]
: Новый набор плейсхолдеров, где columnKey — оригинальный ключ колонки. См. README → Примеры.
- +
- *
removeEmptyCols
: Работает нормально, даже если оба параметраrowTpl
иcolTpl
не заданы.
- +
- + Параметры →
rowTpl
,colTpl[i]
: Добавлен новый плейсхолдер[+rowKey+]
(см. README). - + Параметры →
colTpl[i]
: Добавлены новые плейсхолдеры[+total+]
и[+resultTotal+]
(см. README).
- * Внимание! Требуется PHP >= 5.6.
- * Внимание! Требуется (MODX)EvolutionCMS.libraries.ddTools >= 0.50.
- * Внимание! Требуется (MODX)EvolutionCMS.snippets.ddTypograph >= 2.5.
- + Параметры:
- +
placeholders
: Также может быть задан, как HJSON или как нативный PHP объект или массив (например, для вызовов через$modx->runSnippet
). - +
columns
,sortBy
,typography
,colTpl
: Также могут быть заданы, как нативные PHP массивы (например, для вызовов через$modx->runSnippet
).
- +
- + Запустить сниппет без DB и eval можно через
\DDTools\Snippet::runSnippet
(см. примеры в README). - +
\ddGetMultipleField\Snippet
: Новый класс. Весь код сниппета перенесён туда. - *
\DDTools\Snippet::runSnippet
используется вместо$modx->runSnippet
для запуска (MODX)EvolutionCMS.snippets.ddTypograph без DB и eval. - - Удалена совместимость с древними версиями (MODX)EvolutionCMS.libraries.ddTools.
- + README:
- + Документация → Установка → Используя (MODX)EvolutionCMS.libraries.ddInstaller.
- + Ссылки.
- + Composer.json:
- +
support
. - +
authors
: Добавлены недостающие ссылки.
- +
- * Улучшена совместимость с новыми версиями (MODX)EvolutionCMS.libraries.ddTools.
- + Параметры →
inputString
: Также может быть и JSON объектом, не только массивом. - * Параметры →
filter
:- * Оператор «равно» изменён на
==
с::
(с обратной совместимостью). - + Добавлен оператор «не равно» (
!=
). - + Добавлено условие «и» (
&&
). - + Значения можно оборачивать в кавычки.
- + Можно использовать пробелы, табы и переносы строк.
- * Оператор «равно» изменён на
- + Composer.json.
- + README.
- + README_ru.
- + CHANGELOG.
- + CHANGELOG_ru.
- + Параметры →
placeholders
:- + Добавлена поддержка массивов
- + Добавлена поддержка формата JSON.
- + Параметры →
inputString
: Добавлена поддержка формата JSON. - * Следующие параметры переименованы (старые имена пока поддерживаются, но не рекомендуются к использованию):
- *
rowDelimiter
→inputString_rowDelimiter
. - *
colDelimiter
→inputString_colDelimiter
.
- *
- + Параметры →
outerTpl
,rowTpl
,colTpl
: Добавлена возможность использовать встроенные шаблоны, используя префикс'@CODE:'
. - + Параметры →
rowTpl
,colTpl
: Дополнительные данные из параметраplaceholders
теперь также будут переданы в шаблоны строк и колонок. - * Параметры →
placeholders
: Дополнительные данные, передаваемые в параметрplaceholders
должны быть в виде Query string (старый формат поддерживается, но не рекомендуется к использвоанию). - * Следующие параметры переименованы (старые имена пока поддерживаются, но не рекомендуются к использованию):
- *
string
→inputString
. - *
docField
→inputString_docField
. - *
docId
→inputString_docId
.
- *
- * Рефакторинг: Результат сниппета будет возвращён в любом случае (пустая строка для пустого результата).
- + Параметры →
colTpl:
Плэйсхолдер[+rowNumber+]
также доступен в шаблонах колонок. - + Параметры →
rowTpl
,colTpl
: Доступен довый плэйсхолдер[+rowNumber.zeroBased+]
— номер строки, начинающийся с 0, это бывает удобно. - * Рефакторинг:
- * Шаблоны колонок обрабатываются только если они используются.
- * Параметры
sortBy
иsortDir
обрабатываются только если они используются. - * Параметры
startRow
иtotalRows
обрабатываются только если они используются. - * Переименованы некоторые внутренние переменные.
- + Параметры →
outputFormat
: Добавлен формат выводаhtmlarray
— одномерный массив, элементы которого — готовые полностью обработанные строки. Как иarray
, имеет смысл использовать вместе с параметромresultToPlaceholder
.
- * Внимание! Требуется (MODX)EvolutionCMS.libraries.ddTools >= 0.11.
- * Вместо локальной функции для сортировки используется метод
\ddTools:sort2dArray
. - * Значение поля получается при помощи метода
\ddTools:getTemplateVarOutput
, (MODX)EvolutionCMS.snippets.ddGetDocumentField больше не используется. - * Параметры переименованы, изменены их описания и порядок:
- *
field
→string
. - *
getField
→docField
. - *
getId
→docId
. - *
splY
→rowDelimiter
. - *
splX
→colDelimiter
. - *
num
→startRow
. - *
count
→totalRows
. - *
colNum
→columns
. - *
vals
→filter
. - *
typographing
→typography
. - *
format
→outputFormat
. - *
glueY
→rowGlue
. - *
glueX
→colGlue
. - *
tplY
→rowTpl
. - *
tplX
→colTpl
. - *
tplWrap
→outerTpl
. - *
totalPlaceholder
→totalRowsToPlaceholder
.
- *
- * Параметры →
typography
:- * Типографируется теперь не весь результат работы сниппета, а каждое значение по отдельности.
- * Параметр принимает не булевое значение, а список колонок через запятую, значения которых нужно типографировать.
- * Параметры →
rowTpl
:- * Плэйсхолдер
[+row_number+]
переименован в[+rowNumber+]
. - * Плэйсхолдеры вида
[+valX+]
переименованы в[+colX+]
.
- * Плэйсхолдер
- * Параметры →
outerTpl
:- * Плэйсхолдер
[+wrapper+]
переименован в[+result+]
. - * Плэйсхолдеры вида
[+rowY.valX+]
переименованы в[+rowY.colX+]
.
- * Плэйсхолдер
- * Параметры →
resultToPlaceholder
: Параметр принимает не булевое значение, а имя плэйсхолдера. - * Небольшие исправления, изменения стиля кода и прочие изменения.
- * Внимание! Требуется (MODX)EvolutionCMS.libraries.ddTools >= 0.10.
- + Параметры →
tplWrap
,tplY
: Добавлен плэйсхолдер[+resultTotal+]
, содержащий количество возвращаемых элементов. - * Параметры →
tplWrap
:- * Исправлена ошибка, плэйсхолдер
[+total+]
появлялся только если задан параметрplaceholders
. - + Доступны плэйсхолдеры вида
[+rowY.valX+]
(гдеY
— номер строки,X
— номер колонки), содержащие все значения.
- * Исправлена ошибка, плэйсхолдер
- * Внимание! В плэйсхолдер
[+total+]
теперь возвращается общее количество всех элементов. - * Незначительные изменения кода.
- + Параметры →
vals
: Добавлена фильтрация по всем колонкам.
- * При сортировке добавлена обработка числовых значений, теперь они сравниваются как числа, а не как строки.
- * Исправлена ошибка с обращением к не объявленным переменным (PHP >= 5.3).
- * Внимание! Требуется (MODX)EvolutionCMS.snippets.ddGetDocumentField >= 2.4.
- + Параметры →
tplWrap
: Плэйсхолдер[+total+]
теперь выводится и здесь. - + Параметры →
splY
,splX
: Теперь могут принимать регулярные выражения. - + Параметры →
resultToPlaceholder
: Новый параметр. Добавлена возможность сохранять результаты сниппета в плэйсхолдер. - + Параметры →
format
: Добавлена возможность вывода в формате массива (полезно при запуске через$modx->runSnippet
или при сохранении результата в плэйсхолдер). - - Параметры →
getPublished
: За ненадобностью удалён параметр. Теперь наконец без разницы, опубликован ли документ.
- + Параметры →
totalPlaceholder
: Новый параметр. Добавлена возможность выводить общее количество строк во внешний плэйсхолдер.
- + Параметры →
tplY
: Добавлен плэйсхолдер[+total+]
, содержащий общее количество строк.
- + Параметры →
sortDir
: Добавлено возможное значение'REVERSE'
, при котором значения выводятся просто в обратном порядке.