Jump to main content Jump to doc navigation

Что такое привязка @SNIPPET?

Привязка @SNIPPET выполняет указанный сниппет MODX. Используйте её только с осторожностью с точки зрения безопасности.

Синтаксис

@SNIPPET snippet_name [properties_as_json]

Привязывает переменную к сниппету. Где snippet_name - это имя сниппета. Возвращаемое значение - вывод сниппета.
Свойства в формате JSON необязательны (MODX 3.0+) и передаются сниппету как scriptProperties.

Использование

Пусть есть сниппет datefmt с таким кодом:

<?php
$locale = $modx->getOption('locale',$scriptProperties,'en_US');
$pattern = $modx->getOption('pattern',$scriptProperties,'YYYY/MM/dd');

$fmt = datefmt_create(
    $locale,
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    null,
    null,
    $pattern
);
return datefmt_format($fmt, time());

В поле Default Text просто укажите имя сниппета после тега @SNIPPET:

@SNIPPET datefmt
@SNIPPET datefmt {"locale":"de-DE","pattern":"EEEE, dd.MM.YYYY"}

Примеры

Показ связанных материалов

Есть отдельная страница с примером использования привязки SNIPPET для генерации input-options: Создание multi-select списка связанных страниц в шаблоне.

Значения input-option из БД через migxLoopCollection

Допустим, вам нужен выпадающий список для выбора user-id по username.
Требование: установлен MIGX.

Создайте TV типа listbox с такими input-options:

@SNIPPET migxLoopCollection {"classname":"modUser","tpl":"@CODE:[[+username]]==[[+id]]","outputSeparator":"||","wrapperTpl":"@CODE:-- select a user--==0||[[+output]]"}

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

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
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

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

Learn more