Плейсхолдеры Modx Revo
Плейсхолдеры в Modx часто и незаслуженно остаются без внимания и не используются на сайтах. В статье я не буду подробно расписывать, что такое плейсхолдеры, а приведу немного кода для их использования
Получение плейсхолдера
$value = $modx->getPlaceholder('category');
Установка одного плейсхолдера
$modx->setPlaceholder('name','Иван');
Установка плейсхолдеров
$ar = array( 'name' => 'Петр', 'surname' => 'Иванов', 'age' => 20 ); // Устанавливаем плейсхолдеры с нужным префиксом $modx->setPlaceholders($ar, 'student.');
После этого плейсхолдеры доступны в шаблонах и чанках под именами [ [+student.name] ], [ [+student.surname] ] и [ [+student.age] ]. Префиксы нужны для задания пространства имен, чтобы наши плейсхолдеры не пересеклись с другими, и для удобства, конечно.
Мы часто забываем о замечательной возможности сниппета getResources не только выводить результат на экран, но и сохранять его в плейсхолдер. То есть результаты выполнения сниппета можно использовать не сразу, а позже, что иногда бывает очень удобно. Чтобы это сделать, нужно передать в сниппет getResources параметр toPlaceholder, например, result_html. Тогда после отработки сниппета в [ [+result_html] ] будет сгенерированный html-код (или что угодно другое, что у Вас должен вывести этот сниппет)
Истории из жизни айти и обсуждение кода.