Guest User

Untitled

a guest
Jul 21st, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. use Bitrix\Main\Type\Collection;
  2. use Bitrix\Currency\CurrencyTable;
  3. use Bitrix\Highloadblock as HL;
  4. use Bitrix\Main\Entity;
  5.  
  6. CModule::IncludeModule('iblock');
  7. CModule::IncludeModule('highloadblock');
  8.  
  9. $id_ib = '17';
  10. $id_ib_catalog = '2';
  11. $id_hlb = '3'; //id HLB "Manufacturer"
  12.  
  13. $i=0;
  14. $arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM", "PROPERTY_MANUFACTURER", "PROPERTY_MANUFACTURER_NEW");
  15. $arFilter = Array("IBLOCK_ID"=>IntVal($id_ib_catalog), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
  16. $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
  17. while($ob = $res->GetNextElement())
  18. {
  19.  
  20. $arFields[$i] = $ob->GetFields();
  21.  
  22. $hlblock_requests=HL\HighloadBlockTable::getById($id_hlb)->fetch(); //requests
  23. $entity_requests=HL\HighloadBlockTable::compileEntity($hlblock_requests);
  24. $entity_requests_data_class = $entity_requests->getDataClass();
  25. $main_query_requests = new Entity\Query($entity_requests_data_class);
  26.  
  27. $main_query_requests->setSelect(array('ID','UF_NAME', 'UF_XML_ID'))->setFilter(array("UF_XML_ID" =>$arFields[$i]["PROPERTY_MANUFACTURER_VALUE"]));
  28. //$main_query_requests->setSelect(array('ID','UF_NAME'))->setFilter(array('*'));
  29. $result_requests = $main_query_requests->exec();
  30. $result_requests = new CDBResult($result_requests);
  31.  
  32. while($row_requests=$result_requests->Fetch()){
  33. $arFields[$i]["PROPERTY_MANUFACTURER_NAME_FROM_HL"] = $row_requests;
  34. }
  35. $i++;
  36. }
  37. //pr($arFields);
  38. unset($i);
  39.  
  40. foreach ($arFields as $key=> $field){
  41. $arSelect2 = Array("ID", "NAME");
  42. $arFilter2 = Array("IBLOCK_ID"=>IntVal($id_ib), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "=NAME" => $arFields[$key]["PROPERTY_MANUFACTURER_NAME_FROM_HL"]["UF_NAME"]);
  43. $res1 = CIBlockElement::GetList(Array(), $arFilter2, false, false, $arSelect2);
  44. while($ob1 = $res1->GetNextElement())
  45. {
  46.  
  47.  
  48. $arFieldsBrand = $ob1->GetFields();
  49. $arFields[$key]["PROPERTY_MANUFACTURER_NAME_FROM_IB"] = $arFieldsBrand;
  50.  
  51. }
  52.  
  53.  
  54. /*$ELEMENT_ID = $arFields[$key]["ID"]; // код элемента
  55. $PROPERTY_CODE = "MANUFACTURER_NEW"; // код свойства
  56. $PROPERTY_VALUE = $arFields[$key]["PROPERTY_MANUFACTURER_NAME_FROM_IB"]["ID"]; // значение свойства
  57.  
  58. // Установим новое значение для данного свойства данного элемента
  59. CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, 2 , array($PROPERTY_CODE => $PROPERTY_VALUE));*/
  60. }
Add Comment
Please, Sign In to add comment