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

Не срабатывает привязка созданного ИБ к торговому каталогу (CCatalog::Add, OnAfterIBlockAddHandler)

00 голосов
0
Здравствуйте.

Возможно кто-то сталкивался с такой проблемой - пытаюсь сделать вновь добавленный каталог торговым, но никак не выходит.
Сами свойства добавляемого ИБ менять при создании получается (OnBeforeIBlockAdd), но там не передается информация о том, является ли ИБ торговым каталогом - для этого нашел функцию CCatalog::Add, но она почему-то не отрабатывает (возвращает true, но если зайти в созданный ИБ, то он не будет помечен как торговый каталог).

Код
<?

AddEventHandler("iblock", "OnBeforeIBlockAdd", Array("MyClass", "OnBeforeIBlockAddHandler"));
AddEventHandler("iblock", "OnAfterIBlockAdd", Array("MyClass", "OnAfterIBlockAddHandler"));
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("MyClass", "OnBeforeIBlockElementAddHandler"));

class MyClass
{
    function OnAfterIBlockAddHandler(&$arFields)
   {
      if($arFields["ID"]>0)
      {
         /* помечаем ИБ как торгоывй каталог */
         $res_ = CCatalog::Add( array("IBLOCK_ID"=>$arFields["ID"],"YANDEX_EXPORT"=>"Y","SUBSCRIPTION"=>"N") );
         if(!$res_)
         {
            global $APPLICATION;
            $APPLICATION->throwException("Не удалось выполнить CCatalog::Add");
            return false;
         }
      }
   }  
...
спросил 08 Дек, 13 от PaDoNoK (180 баллов)

Ваш ответ

Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

Похожие вопросы

0 голосов
2 ответов
0 голосов
1 ответ
спросил 22 Март, 13 от Kania (5,180 баллов)
0 голосов
5 ответов
+1 голос
1 ответ