Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use Bitrix\Main\Type\Collection;
- use Bitrix\Currency\CurrencyTable;
- use Bitrix\Highloadblock as HL;
- use Bitrix\Main\Entity;
- CModule::IncludeModule('iblock');
- CModule::IncludeModule('highloadblock');
- $id_ib = '17';
- $id_ib_catalog = '2';
- $id_hlb = '3'; //id HLB "Manufacturer"
- $i=0;
- $arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM", "PROPERTY_MANUFACTURER", "PROPERTY_MANUFACTURER_NEW");
- $arFilter = Array("IBLOCK_ID"=>IntVal($id_ib_catalog), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
- $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
- while($ob = $res->GetNextElement())
- {
- $arFields[$i] = $ob->GetFields();
- $hlblock_requests=HL\HighloadBlockTable::getById($id_hlb)->fetch(); //requests
- $entity_requests=HL\HighloadBlockTable::compileEntity($hlblock_requests);
- $entity_requests_data_class = $entity_requests->getDataClass();
- $main_query_requests = new Entity\Query($entity_requests_data_class);
- $main_query_requests->setSelect(array('ID','UF_NAME', 'UF_XML_ID'))->setFilter(array("UF_XML_ID" =>$arFields[$i]["PROPERTY_MANUFACTURER_VALUE"]));
- //$main_query_requests->setSelect(array('ID','UF_NAME'))->setFilter(array('*'));
- $result_requests = $main_query_requests->exec();
- $result_requests = new CDBResult($result_requests);
- while($row_requests=$result_requests->Fetch()){
- $arFields[$i]["PROPERTY_MANUFACTURER_NAME_FROM_HL"] = $row_requests;
- }
- $i++;
- }
- //pr($arFields);
- unset($i);
- foreach ($arFields as $key=> $field){
- $arSelect2 = Array("ID", "NAME");
- $arFilter2 = Array("IBLOCK_ID"=>IntVal($id_ib), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "=NAME" => $arFields[$key]["PROPERTY_MANUFACTURER_NAME_FROM_HL"]["UF_NAME"]);
- $res1 = CIBlockElement::GetList(Array(), $arFilter2, false, false, $arSelect2);
- while($ob1 = $res1->GetNextElement())
- {
- $arFieldsBrand = $ob1->GetFields();
- $arFields[$key]["PROPERTY_MANUFACTURER_NAME_FROM_IB"] = $arFieldsBrand;
- }
- /*$ELEMENT_ID = $arFields[$key]["ID"]; // код элемента
- $PROPERTY_CODE = "MANUFACTURER_NEW"; // код свойства
- $PROPERTY_VALUE = $arFields[$key]["PROPERTY_MANUFACTURER_NAME_FROM_IB"]["ID"]; // значение свойства
- // Установим новое значение для данного свойства данного элемента
- CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, 2 , array($PROPERTY_CODE => $PROPERTY_VALUE));*/
- }
Add Comment
Please, Sign In to add comment