Jump to main content Jump to doc navigation

modX::toPlaceholders

Устанавливает плейсхолдеры из значений, хранящихся в массивах и объектах.

Каждый рекурсивный уровень в массиве $placeholder добавляет префикс, создавая путь доступа с использованием необязательного разделителя.

Синтаксис

API Doc: modX::toPlaceholders()

array toPlaceholders (array|object  $subject, [string $prefix = ''], [string $separator = '.'], [boolean $restore = false])

Пример

Установите массив плейсхолдеров и префикс «my». Возвращает многомерный массив, содержащий до двух элементов: «keys», который всегда содержит массив ключей-плейсхолдеров, которые были установлены, и при необходимости, если для параметра restore задано значение true, «restore», содержащий массив значений-плейсхолдеров, которые были перезаписаны метод.

$modx->toPlaceholders(array(
  'name' => 'John',
  'email' => 'jdoe@gmail.com',
),'my');

Пример с вложенными плейсхолдерами

Использование вложенных данных в качестве $placeholders:

$modx->toPlaceholders(array(
  'document' => array('pagetitle' => 'My Page')
));

Соответствует плейсхолдерам, таким как [[+ document.pagetitle]] Обратите внимание, что использование префикса $ во вложенных плейсхолдерах добавляет префикс $ в начало each key. Например:

$modx->toPlaceholders(
  array(
    'test' => 'this',
    'document' => array('pagetitle' => 'My Page')
  ), 'tmp'
);

Будет иметь плейсхолдеры, такие как [[+tmp.test]] и [[+tmp.document.pagetitle]]

Смотрите также

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

  • modmore
  • modmore
  • Jens Wittmann – Gestaltung & Entwicklung
  • Raffy
  • eydolan
  • Digital Penguin
  • Fabian Christen
  • Dannevang Digital
  • deJaya
  • Sepia River Studios
  • Following Sea
  • Anton Tarasov
  • Lefthandmedia
  • Nick Clark
  • Chris Fickling
  • Murray Wood
  • YJ
  • CrewMark
  • Richard

Budget

$305 per month—let's make that $500!

Learn more