Правильные окончания у существительных в Битриксе
835
Часто требуется написать правильное склонение в существительных в Битрикс, например, вывести количество элементов в разделе. Для этого нужно вывод количества в шаблоне обработать следующей функцией: function getNumEnding($number, $endingArray)
{
$number = $number % 100;
if ($number>=11 && $number<=19)
{
$ending=$endingArray[2];
} else {
$i = $number % 10;
switch ($i) {
case (1): $ending = $endingArray[0]; break;
case (2): case (3): case (4): $ending = $endingArray[1]; break;
default: $ending=$endingArray[2]; }
}
return $ending;
}
// данный код прописывается в файле init.php
<?=$num?> <?=getNumEnding($num, Array(«услуга», «услуги», «услуг»))?>
// вызов функции, где $num — количество
Array(«услуга», «услуги», «услуг») — склонение слов для количеств 1, 2 и 5.
Вывод количества элементов в разделе, на примере компонента catalog.section.list
<?=$arSection["ELEMENT_CNT"]?> <?=getNumEnding($arSection["ELEMENT_CNT"], Array("услуга", "услуги", "услуг"))?> |
Последние записи
|