Сортировка значений в bitrix:catalog.smart.filter

25.05.2021  11:14

Проблема: есть набор значений свойств товаров вида "2 мм", "8 мм", "11 мм", "12 мм" и в умном филтре они выводятся "2 мм", "11 мм", "12 мм", "8 мм". Если бы это были числа, то в файле result_modifier шаблона компонента catalog.smart.filter значения можно было бы отсортировать ksort, но в данном случае такое не прокатывает.

bitrix:catalog.smart.filter

Решение: в result_modifier.php вставляем небольшую функцию

function sort_values($array){
	foreach($array as $k => $v){
		$new_arr[$k] = $k;
	}
	natsort($new_arr);
	foreach($new_arr as $k => $v){
		$new_arr2[$k] =$array[$k];
	}
	return $new_arr2;
};
$arResult["ITEMS"][155]["VALUES"] = sort_values($arResult["ITEMS"][155]["VALUES"]);
//155 - id свойства


Всё, значения теперь в нужном порядке по-возрастанию.
Андрей Панёвин
Здравствуйте! Я — Андрей Панёвин и занимаюсь профессиональной разработкой сайтов на платформе 1С-Битрикс (исключительно программирование). Есть вопросы по статье или нужно реализовать доработки по программной части? Могу подсказать и помочь по скайпу (andrey.panevin.ru), WhatsApp (+7-911-091-0670), Telegram (@panevin_ru) или перепиской в ВК.
1000 р./час. Часовой пояс — московский.






Помогла статья? На поездку на море (Охотское):


перейти в Блог

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): 1С-Битрикс 72  PHP 85  web-программирование 110  

Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю-:
Имя


email (не публикуется)