Рейтинг: 3.3357  
На голосовании
Предложил Пользователь 28970 19.05.2015 16:03:03

Сделать возможность сортировки по рейтингу в CIBlockElement::GetList

есть параметры

RATING_TOTAL_VALUE
RATING_TOTAL_VOTES
RATING_TOTAL_POSITIVE_VOTES
RATING_TOTAL_NEGATIVE_VOTES

Их можно включить в массив $arSelect и тогда они появятся в результате выборки.

Но их нельзя (кроме RATING_TOTAL_VALUE) использовать для сортировки элементов.

Добавляется достаточно просто в /bitrix/modules/iblock/classes/general/iblockelement.php:2655
Рейтинг: 4.1439  
На голосовании
Предложил Пользователь 94272 23.01.2014 20:15:02

Добавить метод CIBlockElement::GetByCode

Или группу методом GetBy, например так:
CIBlockElement::GetBy( mixed by, mixed value );

Что бы искать элементы инфоблоков по любому стандартному полю, в частности символьному коду.
Тогда не придется городить целый GetList ради выбора единственной записи по символьному коду.
Рейтинг: 88.2361  
На голосовании
Предложил Пользователь 28970 23.07.2013 14:33:12

Расширение API Инфоблоков: SubQuery не только по ID элемента основного запроса, но и по свойствам

Сделать возможность применять подзапросы (SubQuery) не только по полю ID элемента основного запроса, но и по значению свойства типа "Привязка к элементам".

Подробнее в блоге http://dev.1c-bitrix.ru/community/webdev/user/28970/blog/8081/
Рейтинг: 38.6929  
Новая
Предложил Пользователь 17890 25.12.2011 17:37:55

Фильтрация по свойствам связанных элементов

Хелло,
В API по выбору элементов инфоблока ( CIBlockElement::GetList() ) есть возможность фильтрации по полям связанных элементов, для этого нужно поставить точку, т.е. например
$arFilter = array('PROPERTY_link.CODE' => 'код связанного элемента');

Было бы здорово, если бы работало и по свойствам, хотя бы для цепочек связанности одного уровня (кстати, неограниченный уровень цепочек - это вторая идея, чтобы было возможно многократно указать через точку: PROPERTY_link.PROPERTY_link2.PROPERTY_some_prop - т.е. транзитивная фильтрация ).

Т.е. хотелось, чтобы работало и так:

$arFilter = array('PROPERTY_link.PROPERTY_link2' => 'фильтрация по свойству связанного элемента');
Рейтинг: 2.1461  
Новая
Предложил Пользователь 14496 20.10.2011 21:32:21

Модификации CIBlockElement::GetList

Описывал ранее в блоге (http://dev.1c-bitrix.ru/community/webdev/user/14496/blog/sku/) сложности, связанные с работой GetList, если имеется привязка элементов.

Например, справочник Модели [секция - Бренд, элемент - Модель] и каталог Товары [секция - Категория, элемент - Товар] связаны между собой свойством "Привязка к товарам". Мои модификации делают возможными следующий синтаксис:
//найти все мужские товары
$arFilter["PROPERTY_MODEL.PROPERTY_GENDER"] = $prop1; 

//найти товары определенного бренда
$arFilter["PROPERTY_MODEL.IBLOCK_SECTION_ID"] = $sect1; 

//посчитать количество кожаных товаров
$arGroupBy["PROPERTY_MODEL.PROPERTY_MATERIAL"] = $prop2; 

//посчитать количество товаров бренда 
$arGroupBy["PROPERTY_MODEL.IBLOCK_SECTION_ID"] = $sect2; 
Все изменения касаются файла /bitrix/modules/iblock/classes/general/iblockelement.php. Версия модуля "Информационные блоки" - 11.0.2. Выложил только модифицированные функции (мои дополнения и модификации выделены цветом):  http://pastehtml.com/view/bb8kug80v.rtxt