Задать вопрос

Как выполнить вывод количества просмотров елемента в карточку товара «Битрикс» с функцией возврата окончания слова при склонении?

Приветствую! Пытаюсь вывести количество просмотров елемента (товара) в карточку товара.
Выглядеть должно примерно так: Просмотрело: "значение" человек(а).
Но есть одно но, пока еще только начинаю изучать php и что-то я видимо делаю не так.
При выводе вместо Человек или Человека выводит цифру 1.
$resElement = CIBlockElement::GetByID($arResult['ID'])->GetNext();
						$value = $resElement;
						if(!function_exists('BITGetDeclNum'))
						  {
						      function BITGetDeclNum($value=1, $status= array('Человек','Человека','Человек'))
						  {
						      $array =array(2,0,1,1,1,2);
						      return $status[($value%100>4 && $value%100<20)? 2 : $array[($value%10<5)?$value%10:5]];
						  }
						 
						  }
						  
						  echo 'Просмотрело: '.$resElement["SHOW_COUNTER"], print_r("&nbsp;" + $status);

Может кто-то помочь?
  • Вопрос задан
  • 618 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 3
use Bitrix\Main\Grid\Declension;
echo (new Declension('штука', 'штуки', 'штук'))->get(2);
Ответ написан
Комментировать
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
function RusEnding($n, $n1, $n2, $n5) {
    if($n >= 11 and $n <= 19) return $n5;
    $n = $n % 10;
    if($n == 1) return $n1;
    if($n >= 2 and $n <= 4) return $n2;
    return $n5;
  }
echo RusEnding(40, "Человек", "Человека", "Человек");
Ответ написан
@morozoffmaks Автор вопроса
Огромное спасибо Антону за подсказку!
Вот решение, которое мне подошло:
<?$resElement = CIBlockElement::GetByID($arResult['ID'])->GetNext();
						$value = $resElement;
						function RusEnding($n, $n1, $n2, $n5) {
						    if($n >= 11 and $n <= 19) return $n5;
						    $n = $n % 10;
						    if($n == 1) return $n1;
						    if($n >= 2 and $n <= 4) return $n2;
						    return $n5;
						}

						echo $resElement["SHOW_COUNTER"], '&nbsp;', RusEnding($resElement["SHOW_COUNTER"], "Человек интересовался товаром", "Человека интересовались товаром", "Человек интересовались товаром");?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы