Бывает, что нужно перед списком элементов вывести строку для сортировку, примерно такую: "Сортировать по: цене, названию, артикулу"
С комплексным компонентом это немного проще с точки зрения управления сортировкой - её параметры можно вывести в общие настройки компонента и будет вполне приемлемый вариант. А вот с обычным компонентом ситуация осложняется тем, что параметры сортировки придется передавать в настройки компонента в «чистом виде».
Итак первое предложение - кустарное решение (буду крайне признателен, если в комментариях предложите лучшее): На странице с компонентом в первый блок дописываем примерно такой код http://bxapi.ru/code/wLpXJsfNjf3cRKo/:
Как видно, решение не учитывает направление сортировки. Это только добавит новые проверки, но сути не меняет - работать с этим неудобно.
Если бы компонент мог принимать внешний массив параметров сортировки, как это происходит с массивом для фильтрации, то по моему мнению, было бы намного проще. Тогда можно было бы перед элементами раздела вывести компонент сортировки (подобно умному фильтру), который бы генерировал нужный массив для сортировки.
Поэтому второе моё предложение - проголосовать за идею доработки штатного компонента «Элементы раздела» вот здесь: http://idea.1c-bitrix.ru/13447/
Для того что бы реализовать такую логику нужно всего несколько строк кода в стандартном компоненте, при этом сохраняется обратная совместимость.
Так что голосуйте, комментируйте и даже критика приветствуется
Семеритов Александр написал: Ну главное принцип, а где один там и две, можно хоть 10 полей и направлений сортировок сделать, это уже не имеет значения.
К сожалению имеет. Если посмотреть исходный код компонента - больше чем по двум полям он в нынешнем состоянии сортировать не будет.
Сам компонент да, раньше и двух не было, только 1 было. Я о том, что подготовить параметры для компонента какие угодно можно и сколько угодно по своим правилам. Например
Бывает, что нужно перед списком элементов вывести строку для сортировку, примерно такую: "Сортировать по: цене, названию, артикулу"
С комплексным компонентом это немного проще с точки зрения управления сортировкой - её параметры можно вывести в общие настройки компонента и будет вполне приемлемый вариант. А вот с обычным компонентом ситуация осложняется тем, что параметры сортировки придется передавать в настройки компонента в «чистом виде».
ни разу не возникало проблем при решении такой задачи. У нас есть свой собственный компонент - панель сортировки, который ставится перед типовым catalog.section и передает ему все данные по сортировке, которые обрабатывает лично.
Приведенные вами строки вы можете с успехом использовать и вне компонента.
Пока в посте не увидел важности включения моментов управления сортировкой в код компонента. Мне кажется, что в настоящий момент компонент вполне самодостаточен и универсален и затачивать его под частные случаи не стоит.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».