[CODE]$res = CCatalogProduct::GetList(array(), array('TYPE' => CCatalogProduct::TYPE_SET), false, false, array('ID'));
while ($ar = $res->Fetch())
{
echo $ar['ID'];
}
[/CODE]
while ($ar = $res->Fetch())
{
echo $ar['ID'];
}
[/CODE]
24.05.2015 12:45:21
[QUOTE]Николай Чучадеев написал:
$res = CIBlockElement::GetList(array(), array('IBLOCK_ID' => 3,'NAME' => $arNames), false, false, array('ID', "IBLOCK_ID", "NAME")); while ($obj = $res->GetNext()) {[/QUOTE] 1. вместо 'NAME' => [COLOR=#373737]$arNames[/COLOR] необходимо использовать '=NAME' => [COLOR=#373737]$arNames [/COLOR](сравнение вместо LIKE). 2. Fetch вместо GetNext (лишний код и NAME приводится к html-безопасному виду) 3. В случае, когда количество названий в фильтре превышает примерно 500 - разбивать на части. Иначе этот код приведет к недоуменным вопросам со стороны админа хостинга (тяжелый по ресурсам запрос) [QUOTE]Константин Логутенко написал: Возможно изначальна логика не правильная...[/QUOTE] Присоединяюсь к автору замечания. |
|
|
18.05.2015 13:32:54
Добрый день!
Код, приведенный Станислав Шашалевич, не имеет отношения к задаче. Второй вариант дает двойную нагрузку, не работает с любыми условиями товара. Сейчас можно повесить обработчик на событие OnSaleCalculateOrderDiscount модуля sale и смотреть ключ DISCOUNT_LIST. |
|
|