Вообщем то всё просто. Рутинные задачи заставляют придумывать что-нибудь. Сегодня понял что больше не могу костылить сортировку по названию, по цене и т.д. И написал свой компонент, с базовым компонентом с возможностью гибкой кастомизации.
Теперь можно вызывать так:
Теперь можно писать компонент так:
мелочь а удобно.
код тут
https://github.com/SidiGi/bitrix.sort.....component
Обновил модуль, добавлена мультисортировка, так же добалена возможность добавление пунктов сортировки прямо в класс, чтобы не сломать эрмитаж
Теперь можно вызывать так:
$sortInfo = $APPLICATION->IncludeComponent("shantilab:sort.panel", "", [ 'SORT' => [ [ 'name' => 'Цене', 'url_code' => 'price', 'bx_code' => 'CATALOG_PRICE_1', 'order' => 'asc', 'active' => true, ], [ 'name' => 'По алфавиту', 'url_code' => 'name', 'bx_code' => 'NAME', 'order' => 'asc', 'active' => false, ], [ 'name' => 'По популярности', 'url_code' => 'popular', 'bx_code' => 'SHOW_COUNTER', 'order' => 'asc', 'active' => false, ] ] ], false); |
Теперь можно писать компонент так:
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); \CBitrixComponent::includeComponentClass("shantilab:base.sort.panel"); class SortPanelComponent extends \BaseSortPanelComponent { protected $defaultSort = false; protected $inSession = false; } |
мелочь а удобно.
код тут
Обновил модуль, добавлена мультисортировка, так же добалена возможность добавление пунктов сортировки прямо в класс, чтобы не сломать эрмитаж