Это форум по решению для битрикс «Модуль Свойства-таблицы».
как можно отсортировать по свойству таблица
08.12.2014 14:39:17
А можли расписать по какой логиге идет сортивка?
|
|
|
08.12.2014 14:57:56
Получается, что сортировка может быть с очень большими ограничениями - по первому столбцу и значения в нем должны быть одинаковой длинны, иначе будут мешать эти цифры:
|
|||||||
|
08.12.2014 15:10:25
Не совсем понял
Я фильтру элементы ИБ по свойсств таблица поле USLUGA => 39315 Остаются 2 элемента : 1. a:3:{s:6:"USLUGA";s:5:"39315";s:5:"PRICE";s:4:"6600";s:7:"COMMENT";s:0:"";} => сумма строки = 10 2. a:3:{s:6:"USLUGA";s:4:"39315";s:5:"PRICE";s:3:"825";s:7:"COMMENT";s:16:"1 челюсть";} => сумма строки = 22 нужно отсортировать по поле PRICE (возростание, убывание) Как работает сортировка она считает сумму строки? или как? тоесть будет ли как то участвовать поле COMMENT сортировке? |
|
|
08.12.2014 15:46:21
|
|||
|
08.12.2014 15:53:27
Не понял на счет символьной сортировка?
смотрите есть: 1. a:3:{s:6:"USLUGA";s:5:"39315";s:5:"PRICE";s:4:"6600";s:7:"COMMENT";s:0:"";} 2. a:3:{s:6:"USLUGA";s:5:"39315";s:5:"PRICE";s:3:"825";s:7:"COMMENT";s:16:"1 челюсть";} Участвовать будут сиволы: 1. USLUGA393156600 2. USLUGA393158251 челюсть или символы a:3 s:6 { } и тд - тоже участвуют в сортировки? |
|
|
08.12.2014 15:54:46
точнее
1. USLUGA39315PRICE6600COMMENT 2. USLUGA39315PRICE825COMMENT1 челюсть |
|
|
08.12.2014 15:57:40
|
|||
|
08.12.2014 15:59:17
Но меня смущает у вас вот это: Array("PROPERTY_price" => ????????). У вас символьный код свойства - price? Потому что идентификатор столбца там бесполезно указывать.
|
|
|
08.12.2014 16:06:39
так и произошло на практике фильтрую USLUGA => 39315
USLUGA = 1 столбец PRICE = 2 столбец соритуруй как обычно по "PROPERTY_price_tab" => 'asc' |
|
|
08.12.2014 16:07:26
то есть получилось)
|
|
|
08.12.2014 16:19:18
|
|||
|
17.12.2014 17:49:41
Возник еще вопрос
не у всех услуг стоит цена то естьнужно сделать так что где нет цены то всегда выводились внизу списка то есть То есть по возростанию 1. 25 2. 26 3. 58 4. 5. То есть по убыванию 1. 58 2. 26 3. 25 4. 5. order - порядок сортировки, пишется без пробелов, может принимать значения:
|
|
|
18.12.2014 00:29:24
Вы можете только двумя запросами сделать - сначала без цены, потом с ценой, например, попробуйте так так: В первом запросе:
Во втором запросе:
Подробнее о фильтрации здесь: Правда если у вас постраничная навигация, то это не поможет. Но вы всегда сможете при помощи событий OnAfterIBlockElementAdd и OnAfterIBlockElementUpdate копировать значение вашей цены в отдельное свойство, предназначенное именно для сортировки (из формы это свойство можно убрать при помощи галочки "Показывать на странице редактирования элемента"). |
|||||||
|
|||||||
Читают тему