CAN_BUY не свойство, а вычисляемое на php значение. true, если AVAILABLE = Y и есть доступные цены
т.е. получить его не смогу? если с ним все тухло, то как можно получить название цвета не довскажете? а то сейчас пустые значения выводит
Вы его сами можете посчитать. А относительно свойств - я вообще не знаю, что это за код у вас. Так то - поднять из базы. Или посмотреть, что вам доступно из данных.
Честно говоря этот код я копировал и пытаюсь переделать под себя А вообще мне нужно взять Id связанных товаров и вывести из этих товаров имя, ссылку, цвет, доступность
Класс CIBlockElement вам в помощь
Воспользовался Вашим советом и почти все получилось! Вызываю: $arProps = $ob->GetProperties(); $TPcolorsList[$arFields['ID']]['color3'] = $arProps['COLOR']; и вроде как все получаю.... но тут 1 вопрос вытекает как мне получить название цвета из справочника. Есть код типа: // получаем список цветов товара $colorsList = array(); $colors = HighloadBlockTable::getList(array("filter" => array('TABLE_NAME' => "bxready_color")))->fetch(); if (isset($colors['ID'])) { $entity = HighloadBlockTable::compileEntity($colors); $entity_data_class = $entity->getDataClass(); $res = $entity_data_class::getList(array('filter' => array())); while ($item = $res->fetch()) { $colorsList[$item['UF_XML_ID']] = $item; } } unset($colors); Но в теории у меня будет вызываться только 1 цвет и нужно Только его название
Так в фильтр передать значение цвета
дааа. типа я получил свойство цвета массивом типа: $TPcolorsList[$arFields['ID']]['color3'] = $arProps['COLOR']['VALUE']; в виде: [0] => black [1] => blue но я не понимаю как мне прогнать его в: // получаем список цветов товара $colorsList = array(); $colors = HighloadBlockTable::getList(array("filter" => array('TABLE_NAME' => "bxready_color")))->fetch(); if (isset($colors['ID'])) { $entity = HighloadBlockTable::compileEntity($colors); $entity_data_class = $entity->getDataClass(); $res = $entity_data_class::getList(array('filter' => array())); while ($item = $res->fetch()) { $colorsList[$item['UF_XML_ID']] = $item; } } unset($colors); Чтобы получить чистое название: черный/синий
UF_XML_ID в фильтре
$TPcolorsList[$arFields['ID']]['color2'] = HighloadBlockTable::getList(array("filter" => array('UF_XML_ID' , 'name')))->fetch(); типа того? или нужно как-то по-другому вызывать? вроде просто, но не выходит :(
эээ... 'filter' => ['=UF_XML_ID' => ['black', 'blue']] вам бы учебный курс по orm почитать...
вынужден согласиться.... явно глупости делаю, т.к. написал: $TPcolorsList[$arFields['ID']]['color2'] = HighloadBlockTable::getList(array('filter' => ['=UF_XML_ID' => ['black', 'blue']]))->fetch(); и $TPcolorsList[$arFields['ID']]['color2'] = HighloadBlockTable::getList(array('filter' => ['=UF_XML_ID' => $arProps['COLOR']['VALUE']]))->fetch(); и словил ошибку
прошу прощения, а можно ли простым выражением типа: $TPcolorsList[$arFields['ID']]['COLOR'] = ****** получить название цвета из справочника зная, что $arProps['COLOR']['VALUE'] имеет вид: Array ( [0] => black [1] => blue )
Обсуждают сегодня