Рубрики
  • Нет рубрик
Социальные сети
Последние записи
  • рамки
  • ВЫБЕРИ ИМЯ - УЗНАЙ О СЕБЕ!
  • рейки
  • Замечательный поисковик
  • Без заголовка 96

  • Создаю новый пользовательский компонент

    В каталоге bitrix/components создала папку klient для создания собственных компонентов.

    Создала папку нового компонента filter.

    В каталоге компонента:

    файл .description.php

    <?

    if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

     

        $arComponentDescription = array(

         "CACHE_PATH" => "Y",

        );

    ?>

    файл .parameters.php

    <?

    if(!defined("B_PROLOG_INCLUDED")||B_PROLOG_INCLUDED!==true)die();

     

        $arComponentParameters = array(

         'PARAMETERS' => array(

         'CACHE_TIME' => array('DEFAULT'=>3600),

         ),

        );

    ?>

    файл component.php

     

    <?

    if(CModule::IncludeModule("iblock"))

    {

    // в информационном блоке IBLOCK_ID=22 находятся названия брендов,

    // получаю список существующих брендов.

    // Правильнее воспользоваться функцией GetIBlockElementListEx, которая получит бренды, используемые в данном разделе

    // функция GetList получит все бренды, которые есть в справочнике.

    $arFilter = Array("IBLOCK_ID"=>22, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "INCLUDE_SUBSECTIONS"=>"Y");

    $items = CIBlockElement::GetList(Array(), $arFilter, false, false,array("ID","NAME"));

    while ($enum_fields = $items->GetNext())

    $arResult['BREND'][] = array(

    "ID" => $enum_fields["ID"],

    "NAME" => $enum_fields["NAME"],

    );

    }

    $arResult["FORM_ACTION"] = isset($_SERVER['REQUEST_URI'])? htmlspecialchars($_SERVER['REQUEST_URI']): "";

    $this->IncludeComponentTemplate();

    ?>

    <?

    if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

     

        $arComponentDescription = array(

         "CACHE_PATH" => "Y",

        );

    ?>

    папка images - для картинок.

    папка templates -

         папка шаблона .default

         файлы

    style.css

        .filter_name {margin: 10px;font-weight: bold;background-color: #F1F5FA;}

        .filter_submit {margin: 20px 10px;}

    template.php

    <form action="<?$APPLICATION->GetCurDir();?>" method="GET">

    <p class="filter_name">Бренд:</p>

    <p class="filter_check">

    <?foreach ($arResult['BREND'] as $key =>$brend):?>

    <input type="checkbox" name="brend[]" value=<?=$brend['ID']?> <?if(@( in_array($brend['ID'], $_SESSION["brend"]))):?> checked <?endif?>><?=$brend['NAME']?><br>

    <?endforeach;?>

    </p>

    <p class="filter_submit">

    <input type="submit" value="Фильтр" name="set_f">

    <input type="submit" value="Сбросить" name="del_f">

    </p>

    </form>

    Компонент встраиваю в footer.php шаблона. Он будет работать в правой колонке

    <?

    $ttt = explode("/",$APPLICATION->GetCurDir());

    $razdel = $ttt[1];

    if ($razdel == "product_catalogue" || $razdel == "ready_catalogue"){

    //фильтр по товарам

    $APPLICATION->IncludeComponent("klient:filter", ".default", array(

    "CACHE_TIME" => "3600"

    ),

    false

    );

    }

    ?>

    В разделе каталога товаров стоит комплексный компонент bitrix:catalog.

    Мне нужно, чтобы фильтр сохранялся постоянно при переходе на страницы каталога.

    Фильтр сохраняю в сессиях.

    В настройках компонента указываю массив для сохранения фильтра arrFilterCat.

    Если включен компонент фильтра в комплексном компоненте, он обнуляет глобальную переменную фильтра arrFilterCat.

    Если отключить работу фильтра в комплексном компоненте, тогда массив $GLOBALS['arrFilterCat'] можно заполнять перед загрузкой комплексного компонента.

    Если компонент фильтра включен, массив заполняю в файле section.php перед запуском компонента bitrix:catalog.section

    if(!$GLOBALS['arrFilterCat']) GLOBAL $arrFilterCat;

    if (isset($_GET["set_f"]))

    { $_SESSION["brend"] = $_GET['brend'];

    }

    if (isset($_SESSION["brend"])) $arrFilterCat['PROPERTY_BREND'] = $_SESSION['brend'];

    if (isset($_GET["del_f"]))

    { unset($_SESSION["brend"]);

    unset($arrFilterCat['PROPERTY_BREND']);

    }

         

  • рамки
  • ВЫБЕРИ ИМЯ - УЗНАЙ О СЕБЕ!
  • рейки
  • Замечательный поисковик
  • Без заголовка 96


  • Последние новости


    Блюда из теста

    Ватрушки постные Приготовить опару из 2 стаканов муки, теплой воды и дрожжей. Когда поднимется, всыпать соль, перемешать, добавить растертое с сахаром растительное масло, ароматическое масло или тертую ваниль, остальную муку и замесить тесто. Когда тесто подойдет, свернуть его в колбаску, нарезать на кусочки, раскатать из них маленькие лепешк...
    Читать далее »

    Блюда из морепродуктов

    Кальмары с красным вином Тщательно промыть и очистить кальмаров (голову выбросить, щупальца оставить). Порезать на колечки, обсушить (можно использовать абсорбирующую бумагу). На большой сковороде подогреть масло. Положить мелко нарезанный лук и натертый чеснок и жарить до мягкости. Добавить колечки кальмаров и тушить, пока они не приобретут к...
    Читать далее »

    Блюда из рыбы

    Солянка из рыбы, приготовленная на сковороде Очищенную и выпотрошенную рыбу вместе с кожей нарезать на небольшие кусочки, ошпарить и смыть с поверхности свернувшийся белок. Затем положить ее в смазанную маслом кастрюлю или казанок, добавить измельченные огурцы (без кожицы и семян), обжаренный до золотистого цвета лук, немного сливочного масла,...
    Читать далее »

    Выпечка

    Пирог с черникой Для теста: 350 г муки, 2 чайные ложки разрыхлителя (углекислый аммоний), соль на кончике ножа, 150 г свиного смальца или маргарина, несколько ложек холодной воды. Для начинки: 500 г черники, 2 столовые ложки муки, 1 стакан сахара, 2 столовые ложки сливочного масла. Муку, соль и разрыхлитель смешать с жиром, постепенн...
    Читать далее »

    Блюда из теста. Часть 2

    Блины заварные постные С вечера гречневую муку и половину пшеничной заварить 2 ½ стакана кипятка, быстро мешая, чтобы получилось густое тесто. Когда остынет, добавить еще 1 ½ стакана теплой воды и разведенные в 1/3 стакана воды дрожжи. Оставить на ночь в теплом месте. На следующий день ввести остальную муку, соль, сахар, выбить тесто лопаточкой, ч...
    Читать далее »

    Выпечка. Часть 6

    Булочки с яблочным повидлом 4 булочки, 2 стакана густого яблочного повидла, 1–2 столовые ложки изюма, сахар и корица. Срезать с булочек верхнюю часть, вынуть середину и заполнить образовавшуюся пустоту повидлом, смешанным с изюмом. Посыпать сахаром с корицей и запечь в смазанной маслом форме или на сковороде в нежаркой духовке. Юбилейны...
    Читать далее »

    Выпечка. Часть 5

    Чайный пирог 500 г пшеничной муки, 200 мл молока, 50 г дрожжей, 100 г сливочного масла, 100 г сахара, 2 желтка, 5 г соли. Для ореховой массы: 100 г орехов, 120 г сахара, 75 г сливочного масла, 25 мл воды. Для заварного крема: 200 мл молока, 75 г сахара, 2 яйца, 25 г пшеничной муки, 150 г сливочного масла, ванильный сахар. Опарное тес...
    Читать далее »