@Goldsliders

Как исправить ошибку в битрикс?

use Bitrix\Main\Application; 
static function OnSaleBasketItemSaved(\Bitrix\Main\Event $event){
   $request = Application::getInstance()->getContext()->getRequest(); 
   // предположим, что текст для печати у вас в $_GET['print']
   $print = htmlspecialchars($request->getQuery("print"));

   if ($print != '')
   {
      $parameters = $event->getParameters();

      /** @var Sale\BasketItem $basketItem */
      $basketItem = $parameters['ENTITY'];
      $isNew = $parameters['IS_NEW'];
      if ($isNew)
      {
              if (!$basketItem instanceof \Bitrix\Sale\BasketItem)
              {
              return new \Bitrix\Main\EventResult(
            \Bitrix\Main\EventResult::ERROR,
            new \Bitrix\Sale\ResultError(\Bitrix\Main\Localization\Loc::getMessage('SALE_EVENT_COMPATIBILITY_WRONG_BASKET'), 'SALE_EVENT_COMPATIBILITY_BASKET_ITEM_BEFORE_CHANGE_WRONG_BASKET'),
            'sale'
             );
               }
              $obCollection = $basketItem->getPropertyCollection();
              $arProps = $obCollection->getPropertyValues();
         // Делаем уникаьное название товару в корзине 
         // доавляя туда текст для печати
         $newName = $basketItem->getField('NAME').' '.$print;
         // добавляем дополнительные свойства
         $arProps = [];
         $arProps[] = array( "NAME" => 'Текст для печати', "CODE"=> 'PRINT', "VALUE" =>$print, "SORT" => 1 );
         $arProps[] = array( "NAME" => 'Еще нужное вам свойтво', "CODE"=> 'YOURPROP', "VALUE" =>'value_of_your_prop', "SORT" => 2 );
         $basketItem->setField('NAME', $newName);
         $obCollection->setProperty($arProps);
         $basketItem->save();
      }
      
   }
}

Есть данный код , после внесения его в ini.php
Показывается такая ошибка

[ParseError]
syntax error, unexpected 'OnSaleBasketItemSaved' (T_STRING), expecting '(' (0)
/home/bitrix/ext_www/САЙТ/bitrix/php_interface/init.php:11
#0: require_once
/home/bitrix/ext_www/happyin.ru/bitrix/modules/main/include/prolog_before.php:14
#1: require_once(string)
/home/bitrix/ext_www/САЙТ/bitrix/modules/main/include/prolog.php:10
#2: require_once(string)
/home/bitrix/ext_www/САЙТ/bitrix/header.php:1
#3: require(string)
/home/bitrix/ext_www/САЙТ/catalog/index.php:2
#4: include_once(string)
/home/bitrix/ext_www/САЙТ/bitrix/modules/main/include/urlrewrite.php:160
#5: include_once(string)
/home/bitrix/ext_www/САЙТ/bitrix/urlrewrite.php:2

хеееелп
  • Вопрос задан
  • 327 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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