Цитата |
---|
sergey smirnov пишет:
Столкнулся с такой же проблемой. Как сделать фильтр что бы значениями <OPTION> были значения содержимого инфоблока. Простой текстовый фильтр не катит из условий задачи. |
Код |
---|
// делаем выборку из инфоблока. нужны только ID и NAME элементов $str = ''; $res = CIBlockElement::GetList(array(сортировка),array(условия отбора),false,false,array('ID','NAME')); while( $arItem = $res->Fetch()): $str .= '<option value="'.$arItem['ID'].'>'.$arItem['NAME'].'</option>'; endwhile; echo '<select name="чего-то">'.$str.'</select>'; |
Цитата |
---|
Евгений Жуков пишет:
Цитатаsergey smirnov пишет: Добавляю этот код в шаблон фильтра каталога. Появляются элементы инфоблока в списке, но фильтрация по ним не проходит. Приведите код, который Вы добавили, т.к. тот, что дал я, не содержит условий фильтрации - их необходимо дописать самому. |
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <form name="<?=$arResult["FILTER_NAME"]."_form"?>" action="" method="get"> <?foreach($arResult["ITEMS"] as $arItem): if(array_key_exists("HIDDEN", $arItem)): echo $arItem["INPUT"]; endif; endforeach;?> <table class="data-table" cellspacing="0" cellpadding="2"> <td> <? $rsElements1 = CIBlockElement::GetList(array(), array("IBLOCK_ID" => "45"), false, array(), array()); ?> <?foreach($arResult["ITEMS"] as $arItem):?> <?if(!array_key_exists("HIDDEN", $arItem)):?> <!-- <tr> <td valign="top"><?= $arItem["NAME"]?></td> <td valign="top"><?= $arItem["INPUT"] ?></td> </tr> --> <tr> <td valign="top"></td> <td valign="top"> <select> <? foreach ($rsElements1->arResult as $element) {?> <option><?= $element["NAME"] ?></option> <?}?> </select> </td> </tr> <?endif?> <?endforeach;?> <tr> <td> <input type="submit" name="set_filter" value="Èñêàòü" /> <input type="hidden" name="set_filter" value="Y" /> </td> </tr> </table> </form> |