Полезные статьи по разработке сайта на системе управления 1С-Битрикс. Программирование. Верстка.

Правильные окончания у существительных в Битриксе

  2
Часто требуется написать правильное склонение в существительных в Битрикс, например, вывести количество элементов в разделе. Для этого нужно вывод количества в шаблоне обработать следующей функцией:
 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("услуга", "услуги", "услуг"))?> 
В 1С-Битрикс данную функцию нужно поместить в файл /bitrix/php_interface/init.php, если такого файла в системе нет - создайте его.