Досить часто новачкам, які починають працювати з MODX, доводиться стикатися з тим, що для вирішення якої-небудь елементарної завдання доводиться довго шукати готові рішення. Зараз ми розберемо, як писати свої сніппети?
Розберемо на невеликому прикладі.
Часто доводиться мати справу з такою ситуацією: є сайт-каталог, товари в каталозі мають чисельну характеристику, будь то вага, або найчастіше ціна. У тому випадку, якщо ціна використовується для фільтрації товарів, тоді TV параметр повинен мати формату числа, але для користувачів числа треба форматувати. Ось цим ми якраз і займаємося.
Є MODX Revolution, є TV-параметр «price», в ньому є значення 5000000 (п'ять мільйонів). Погодьтеся, зрозуміти 5 мільйонів або 500 тисяч - зрозуміти досить складно, але так як воно чисельну, з ним зручно працювати для порівняння і фільтрації.
Для форматування числа будемо використовувати PHP функцію number_format. Виклик сниппета буде приблизно виглядати наступним чином:
Виклик сниппета в MODX Revolution
Наш сниппет приймає такі параметри:
- num - TV параметр, або число, яке потрібно відформатувати;
- dec - кількість символів після коми;
- sep - роздільник між цілою і дробовою частиною;
- tho - роздільник між тисячними розрядами.
Всі ці параметри ні що інше, як назви змінних, які ми можемо використовувати в сніпеті.
Заходимо в розділ «Сніппети» і створюємо новий під назвою «num_format».
Вставляємо в нього наступний код:
Код сниппета для форматування чисел