Выложу функцию, которую использую на каждом проекте. Это функция для склонения слов. В основном используется данная функция в интернет-магазине. Так или иначе, всегда есть и будут слова, которые на сайте нужно склонять: товары/товар/товара или подписчик/подписчика/подписчиков. Очень давно нашел очень простую и маленькую функцию для работы с этим делом. В итоге все это выглядит вот так:
function sklonenie($n, $forms) {
return $n%10==1&&$n%100!=11?$forms[0]:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?$forms[1]:$forms[2]);
}
Функция содержит в себе 2 параметра: $n и $forms
$n - это количество к которому нужно указать склонение.
$forms - это массив, состоящий из 3-х элементов.
В итоге получаем простую и маленькую функцию для работы. Рекомендую указывать данную функцию в файле init.php, чтобы ей всегда и везде было удобно и просто воспользоваться.
Вариант использования функции
<?=sklonenie($n, array("Товар", "Товара", "Товаров"))?>
Можно, конечно, изменить вариацию до
Товар<?=sklonenie($n, array("", "а", "ов"))?>
Тут дело вкуса. Только стоит помнить, что для Битрикса правильнее использовать языковые переменные.
2013-2024 © Студия Action-it.ru
Копирование материалов сайта без разрешения запрещено