Как связать инфоблоки bitrix


  • 14.03.2017 от varlog·3 комментария

    Для тех кто только начинает писать сайты на битриксе полезно будет знать как работать с инфоблоками. Инфоблоки это по сути те же таблицы, которые создаются в админке битрикса и могут быть использованы в ваших компонентах и модулях. В инфоблоках есть такое понятие как «Свойства». Свойства это по сути те поля, в которых можно хранить необходимую информацию. Чтобы не было глюков и прочих заморочек в поле «код» свойства инфоблока желательно писать его в uppercase на латинице например «SHOP_ID», «SHOP_NAME».
    Инфоблоки создаются в админке:
    https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=34&LESSON_ID=2202
    После создания инфоблока можно с ним уже работать.
    Приведу простые примеры:
    ———————————————————————————————
    Получить ID инфоблока по его символьному имени

    $result = CIBlock::GetList(array(), array('TYPE' => 'fav_shops', 'CODE' => 'user_reviews')); if ($row = $result->Fetch()) $info_id = intval($row['ID']);

    Запрос на выборку данных из инфоблока

    / Тут указываем какие поля хотим извлечь. Если нужно извлечь свойство добавляем перед ним PROPERTY Например есть у нас свойство SHOP_RATE, чтобы его выбрать нужно указать PROPERTY_SHOP_RATE / $arSelect = array("ID","NAME","PROPERTY_SHOP_RATE"); //Тут указываем ID инфоблока и дополнительные поля для фильтра-аналог WHERE в sql $arFilter = array("IBLOCK_ID"=>$info_id,"PROPERTY_USER"=>$USER->GetID()); //Сюда передаем эти два массива $rsItems = CIBlockElement::GetList(array("ID"=>"DESC"), $arFilter, false, false, $arSelect); while($arItem = $rsItems->GetNext()){ //Выведем значение свойства //Нужно обратить внимание,что еще добавляется VALUE echo $arItem["PROPERTY_SHOP_RATE_VALUE"]; //Выведем простое поле echo $arItem["NAME"]; }

    —————————————————————————————————
    Добавить информацию в инфоблок

    //В массив $PROP прописываются названия свойств и им присваиваются значения $element=new CIBlockElement; $PROP = array(); $PROP['USER'] = $USER->GetID(); $PROP['SHOP_ID']= $shop_id; $information = array( "IBLOCK_ID" => $info_id, "PROPERTY_VALUES"=> $PROP, "NAME" => "Название элемента" ); $element->Add($information);

    —————————————————————————————————-
    Обновить свойство:

    //$id -идентификатор записи что нужно обновить,$info_id-инфоблок, в массиве свойство и его значение CIBlockElement::SetPropertyValuesEx($id, $info_id, array("SHOP_CNT" => 1));

    ——————————————————————————————————
    Удалить запись из инфоблока(простой пример из документации):

    if(CIBlock::GetPermission($info_id)>='W') { $DB->StartTransaction(); if(!CIBlockElement::Delete($ELEMENT_ID)) { $strWarning .= 'Error!'; $DB->Rollback(); } else $DB->Commit(); }

    bitrix php битрикс инфоблоки кодинг

    .


    Источник: http://tut-admin.ru/2017/03/14/%D0%B1%D0%B8%D1%82%D1%80%D0%B8%D0%BA%D1%81-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%B8%D0%BD%D1%84%D0%BE%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%BD%D0%BE%D0%B2%D0%B8/


    Поделись с друзьями



    Рекомендуем посмотреть ещё:


    Закрыть ... [X]

    В этом уроке рассказывается как создавать и настраивать инфоблоки в Битрикс - Конфетница из оригами пошаговая инструкция

    Как связать инфоблоки bitrix Как связать инфоблоки bitrix Как связать инфоблоки bitrix Как связать инфоблоки bitrix Как связать инфоблоки bitrix Как связать инфоблоки bitrix Как связать инфоблоки bitrix Как связать инфоблоки bitrix Как связать инфоблоки bitrix

    ШОКИРУЮЩИЕ НОВОСТИ