Advertisement
animdenis

BrandsRandomSetProp

Apr 19th, 2016
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.27 KB | None | 0 0
  1. CModule::IncludeModule("highloadblock");
  2.  
  3. $IB_ID = 89;//IBLOCK_ID
  4. $HL_ID = 38;//HLBlock_ID
  5. $count = 10;//Count of HL block items
  6. $PROP_CODE = "MANUFACTURER"; //PropCode
  7.  
  8. CModule::IncludeModule('iblock');
  9. use Bitrix\Highloadblock as HL;
  10. use Bitrix\Main\Entity;
  11.  
  12. $hlblock = HL\HighloadBlockTable::getById($HL_ID)->fetch();
  13. $entity = HL\HighloadBlockTable::compileEntity($hlblock);
  14. $entity_data_class = $entity->getDataClass();
  15. $entity_table_name = $hlblock['TABLE_NAME'];
  16.  
  17. $arFilter = array(); //задаете фильтр по вашим полям
  18.  
  19. $sTableID = 'tbl_'.$entity_table_name;
  20. $rsData = $entity_data_class::getList(array(
  21. "select" => array('UF_NAME'), //выбираем все поля
  22. "filter" => $arFilter,
  23. "order" => array("UF_SORT"=>"ASC") // сортировка по полю UF_SORT, будет работать только, если вы завели такое поле в hl'блоке
  24. ));
  25. $rsData = new CDBResult($rsData, $sTableID);
  26. $arBrands = array();
  27. while($arRes = $rsData->Fetch()){
  28. $arBrands[] = $arRes['UF_NAME'];
  29. }
  30.  
  31. $res = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>$IB_ID));
  32. $i = 0;
  33. while($ob = $res->GetNext())
  34. {
  35.     CIBlockElement::SetPropertyValues($ob['ID'], 47, $arBrands[rand(0, $count-1)], $PROP_CODE);
  36. $i++;
  37. }
  38. echo $i;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement