Создание собственного сниппета на MODx Revolution

Сниппет "Привет Мир"

Нажмем на вкладку Элементы -> Сниппеты -> Новый сниппет и назовем его HelloWorld. Для вывода результаты работы сниппета в шаблоне или чанке вызовем сниппет следующей конструкцией [[!HelloWorld]] . В самом сниппете добавим следующий код:

// Вывод Привет Мир
echo "Hello World"

Сниппет для форматирования числа в определенный формат

Создадим сниппет

[[!NumberFormat? &number=`1000` &decimals = `2` &point=`,` &sep =` `]]

Код сниппета:

// проверка на число    
if(is_numeric($number) && is_numeric($decimals))
        // результат 1 000,00
        return number_format($number, $decimals, $point, $sep);

Если используете fenom, то там есть возможность из коробки использовать данную функцию, просто вызываете

{1000 | number : 2 : ',' : ' '}

Вывод нескольких результатов работы сниппета

Бывают ситуации, когда сниппет должен возвратить несколько результатов работы, для этого используем плейсхолдеры

// вывод суммы
[[!calc? &first=`10` &second=`5`]]
// вывод умножения
[[+multiply]]
// вывод деления
[[+division]]

Код самого сниппета:

// если сниппет получает числа
if(is_numeric($first) && is_numeric($second)) {
  // умножаем    
  $modx->setPlaceholder('multiply',$first*$second);
  // делим
  $modx->setPlaceholder('division',$first/$second);
  // суммируем
  return $first + $second;
}