modX.getChunk
Последнее обновление Dec 21st, 2019 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$287 per month—let's make that $500!
Learn moremodX::getChunk¶
Обрабатывает и возвращает выходные данные из чанка HTML по имени.
getChunk фактически устанавливает свойства, которые вы передаете (и которые выбираются из свойств по умолчанию и/или набора свойств) в качестве плейсхолдера (сохраняя любые с тем же ключом и восстанавливая их после завершения обработки), и позволяет классу modChunk обрабатывать их (наряду с любыми другими тегами, фильтрами и т. д.).
getChunk будет выполняться парсер MODX, поэтому вы можете использовать выходные фильтры, а массив $properties
может быть многомерным (т.е. больше, чем просто пары ключ/значение). Если это больше, чем вам нужно, используйте это modX.parseChunk.
Синтаксис¶
API Doc: modX::getChunk()
$properties
обычно это стандартный ассоциативный массив, например:
Что приведет к замене плейсхолдеров [[+key]]
на value
.
Однако $properties
также может быть более глубоко вложенным массивом, таким как тип, который может быть возвращен из определенных запросов getObject
или getCollection
, например
В тех случаях, когда используется многомерный массив, синтаксис плейсхолдера изменяется, чтобы использовать точку для каждого узла в массиве, например [[+user.id]]
и [[+document.id]]
Примеры¶
Простой пример¶
Давайте обработаем этот чанк и выведем его значение. У нас есть этот чанк, который называется "WelcomeChunk":
Мы поместим это в наш сниппет:
Таким образом, каждый ключ в ассоциативном массиве, переданном методу getChunk
, соответствует доступному плейсхолдеру внутри блока, например [[+name]]
Этот код выводит следующее:
Вложенные $properties
¶
В нашем чанке:
В нашем сниппете:
Использование в сниппете¶
Часто чанки MODX используются в качестве formatting string для сниппетов. С этой целью вы можете хорошо использовать xPDO toArray() method.
Представьте себе чанк с именем single_user:
Затем в вашем сниппете:
Разбор строки¶
Иногда вам нужно разобрать строку с помощью парсера MODX – это не использует getChunk, но это связано. Использование парсера MODX немного медленнее, чем использование простой функции str_replace
, но она позволяет использовать сложные плейсхолдеры (например, для включения другого чанка) и выходные фильтры и т.д. Фокус в том, чтобы создать временный объект Chunk, а затем запустить на нем метод process
.
Смотрите также¶
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$287 per month—let's make that $500!
Learn more