Нашел в интернете решение этой проблемы и оформил его в пакет Units для MODX. Использовать его можно как фильтр вывода. Начнем с примера цены, ведь при отображении цен тоже надо правильно просклонять слово "рубль". Рубли в пакете используются по умолчанию, поэтому, чтобы получить правильное обозначение пишем так:
Цена: [[+price]] [[+price:units]]
Этот код выведет правильно слово "рубль" в зависимости от значения плейсхолдера [[+price]]. В итоге мы получим:
Цена: 121 рубль
Цена: 53 рубля
Цена: 318 рублей
Если вам нужны не рубли, а, например, штуки, указываем правильные формы в параметре options:
[[+quantity:units=`Заказана|Заказаны|Заказано`]]
[[+quantity]]
[[+quantity:units=`штука|штуки|штук`]]
Заказана 21 штука
Заказаны 164 штуки
Заказано 14 штук
Для примера, можете посмотреть работу дополнения на этом сайте — количество комментариев указывается после каждой статьи, и слово "комментариев" автоматически склоняется в зависимости от количества.
Скачать дополнение можно в репозитории: Units
создал tv quantity вывожу вот так
выводит только штук
если выводить вот так
то выводит как надо
использую PdoTools
пробовал на test.modx.pro
В результатах вызываю
Получаю: По запросу: «Сахалин» найдено 3 результатов
В чём может быть ошибка?
Проблема, я думаю здесь:
Вывожу через print_r переменную input и вижу выводит 0. Хотя mse.total = 4