СДЭК Виджет пунктов выдачи заказа

#
СДЭК Виджет пунктов выдачи заказа
Доброго дня. Есть необходимость добавить способ доставки в виде простого виджета. Где пользователь смог выбрать пункт выдачи на карте, далее выбранная информация попадала в заказы в поле Закладка «Описание заказа» см. Информация об отправлении.
Пробовал по аналогии модуля PickPoint
У себя пишу в логике по аналогии  public function execute()
class Shop_Delivery_Handler11 extends Shop_Delivery_Handler
{
   /*
    * Execute business logic
    */
   public function execute()
   {
      $oReturn = new StdClass;
      $oReturn->price = 0;

        $timestamp = filemtime(CMS_FOLDER . 'pvzwidget/widget/widjet.js');
        $defaultCity = $this->_shopCity->name != '' ? $this->_shopCity->name : 'auto';

        $oReturn->description = <<<EOF
      <script type="text/javascript" src="/pvzwidget/widget/widjet.js?{$timestamp}" id="ISDEKscript" ></script>
      <script type="text/javascript">
         var orderWidjet = new ISDEKWidjet({
                popup: true,
                defaultCity: '{$defaultCity}',
                cityFrom: 'Москва',
                apikey: '', // ключ для корректной работы Яндекс.Карт
                onReady : function(){ // на загрузку виджета отобразим информацию о доставке до ПВЗ
                    ipjq('#linkForWidjet').css('display','inline');
                },
                onChoose : function(info){ // при выборе ПВЗ: запишем номер ПВЗ в текстовое поле и доп. информацию
                    var pvz = "Выбран пункт выдачи заказов: " + info.id;
                    pvz += "\\nАдрес пункта: " + info.PVZ.Address;
                    pvz += "\\nРабочее время: " + info.PVZ.WorkTime;
                    pvz += "\\nТелефон: " + info.PVZ.Phone;
                    pvz += (info.PVZ.AddressComment.trim() == '') ? '' : "\\nКак проехать: " + info.PVZ.AddressComment;
                    pvz += "\\nПримерные сроки доставки: " + info.term;
                    ipjq('#linkForWidjet').html(pvz);
                    
                    orderWidjet.close(); // закроем виджет
                }
            });
      </script>
      <p>Виджет для оформления заказа</p>
      <p> <a href='javascript:void(0)' onclick='orderWidjet.open()'>Выбрать ПВЗ</a> </p>
        <div id="linkForWidjet" style="display: none;"></div>
EOF;

      return $oReturn;
   }
}

Все хорошо, скрипт запускается виджет работает.
Проблема в том что после оформления заказа в поле Информация об отправлении  см. Закладка «Описание заказа». Попадает description со всеми скриптами (текст скрипта) скриншот  https://prnt.sc/qb1uqi
Вопрос: Возможно ли в shopOrder->delivery_information записать свои информации о доставке?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: СДЭК Виджет пунктов выдачи заказа
Воспользовался Хуком.
class Shop_Payment_System_Handler_Observer
{
    static public function onAfterAddDelivery($object, $args)
    {
        $oShop_Order = $object->getShopOrder();

        $shop_delivery_id = intval(Core_Array::get($_SESSION['hostcmsOrder'], 'shop_delivery_id', 0));

        if ($shop_delivery_id == 11) {
            // Если идентификатор доставки виджет
            $oShop_Order->delivery_information = Core_Array::get($_SESSION['hostcmsOrder'], 'delivery_information');
            $oShop_Order->save();
        }

    }
}

Core_Event::attach('Shop_Payment_System_Handler.onAfterAddDelivery', array('Shop_Payment_System_Handler_Observer', 'onAfterAddDelivery'));

Все работает, если есть более рациональное решение то буду рад.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
Модератор
#
Re: СДЭК Виджет пунктов выдачи заказа
Seri,
Стандартно данные о доставке, рассчитанной скриптом, сохраняются следующим образом:
$this->_shopOrder->delivery_information = trim(
               $this->_shopOrder->delivery_information . "\n" . $shop_delivery_name
            );
это связано с тем, что одного названия для идентификации выбранного условия часто бывает недостаточно.
Авторизация