Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Тег delivery в экспорте для Яндекс Маркета

00 голосов
1
Столкнулся со следующей задачей - необходимо в экспорт для Я.Маркета включить тег delivery="true"/"false".
Решил добавить еще одно свойство для инфоблока а в самом скрипте (/bitrix/modules/catalog/load/yandex_run.php) проверять его значение и добавлять в строчке <offer .. этот тег.
Проблема в том что не могу считать значение свойства.
Код в том файле выглядит примерно так:
Код
while ($obElement = $db_acc->GetNextElement())
   {
      $arAcc = $obElement->GetFields();
      if (is_array($XML_DATA['XML_DATA']))
      {
         $arAcc["PROPERTIES"] = $obElement->GetProperties();
      }


Чуть ниже добавляю следующее:
Код
if($arAcc["delivery"]["VALUE_ENUM"]=="134") $delry="false"; else $delry="true";


Далее в коде начинается вывод самихх предложений (проверяю переменную и добавляю тег):
Код
$strTmpOff.= "<offer delivery=\"".$delry."\" id=\"".$arAcc["ID"]."\"".$str_TYPE.$str_AVAILABLE.">\n";


Подскажите где что не так делаю. Код проверки значения свойства неправильный, не знаю как мне добыть мое свойство.

P.S. Экспорт со свойствами не подходит т.к они добавляются в качестве тега <param> :)
спросил 19 Дек, 13 от lCurtl (180 баллов)

1 Ответ

00 голосов
Пришлось создать еще отдельную тему для того чтобы узнать как правильно вытащить свойство :)
В итоге все получилось.

Перед циклом while сделал следующее:

$arSelect = Array("ID", "NAME", "PROPERTY_DELIVERY");

$res = CIBlockElement::GetList($arSelect, $filter, false, false, $arSelect);
$db_acc = new CIBlockResult($res);

$total_sum = 0;
$is_exists = false;
$cnt = 0;


Вместо этой строчки:
Код
if($arAcc["delivery"]["VALUE_ENUM"]=="134") $delry="false"; else $delry="true";

Поставил эту:
Код
if($arAcc["PROPERTY_DELIVERY_VALUE"]=="Самовывоз") $delry="false"; else $delry="true";


Далее также как и написл выше.
ответил 06 Март, 14 от lCurtl (180 баллов)