@sagaton

Как сделать условие для массива?

Есть гет запрос
global $arrFilter;

    if($_GET['filter_hit'] == 'Y')
        $arrFilter[] = array("PROPERTY_YAVLYAETSI_VALUE"=>"популярным");

        if($_GET['filter_new'] == 'Y')
            $arrFilter[] = array("PROPERTY_YAVLYAETSI_VALUE"=>"новинкой");

        if($_GET['filter_sale'] == 'Y')
            $arrFilter[] = array("PROPERTY_YAVLYAETSI_VALUE"=>"акцией");

Работают правильно.
Когда пытаюсь переделать что бы было несколько запросов то уже проблема
global $arrFilter;
   
        $arrFilter=array(
            "IBLOCK_ID" => "7",array( "LOGIC" => "OR",array("PROPERTY_YAVLYAETSI_VALUE"=="популярным"),array("PROPERTY_YAVLYAETSI_VALUE"=="новинкой"),array("PROPERTY_YAVLYAETSI_VALUE"=>"акцией")),);

выводит все элементы у кого есть активное одно из 3 свойств.
Как сделать чтобы было условие типо нажали Новинкой вывелись новинки.
Нажали акции то добавились к списку новинок еще акции, а если еще третий то все 3?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
no_one_safe
@no_one_safe
global $arrFilter;
        $arrFilter = array(
            "IBLOCK_ID" => "7",
        );
        $arPropertyFilter = array(
            "LOGIC" => "OR"
        );
        if($_GET['filter_hit'] == 'Y'){
            $arPropertyFilter[] = array("PROPERTY_YAVLYAETSI_VALUE" => "популярным");
        }
        if($_GET['filter_new'] == 'Y'){
            $arPropertyFilter[] = array("PROPERTY_YAVLYAETSI_VALUE" => "новинкой");
        }
        if($_GET['filter_sale'] == 'Y'){
            $arPropertyFilter[] = array("PROPERTY_YAVLYAETSI_VALUE" => "акцией");
        }
        $arrFilter[] = $arPropertyFilter;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы