Вообщем то всё просто. Рутинные задачи заставляют придумывать что-нибудь. Сегодня понял что больше не могу костылить сортировку по названию, по цене и т.д. И написал свой компонент, с базовым компонентом с возможностью гибкой кастомизации.
Теперь можно вызывать так:
Теперь можно писать компонент так:
мелочь а удобно.
код тут
Обновил модуль, добавлена мультисортировка, так же добалена возможность добавление пунктов сортировки прямо в класс, чтобы не сломать эрмитаж
Теперь можно вызывать так:
$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;
} |
мелочь а удобно.
код тут
Обновил модуль, добавлена мультисортировка, так же добалена возможность добавление пунктов сортировки прямо в класс, чтобы не сломать эрмитаж