Как сделать обязательным поле ввода email и телефон при оформлении заказа. 54 ФЗ

#
Как сделать обязательным поле ввода email и телефон при оформлении заказа. 54 ФЗ
Добрый день. Подключил к магазину яндекс-кассу. Модуль использовал из магазина приложений.

Столкнулся с проблемой онлайн оплаты при оформлении заказа на сайте. На последнем шаге-"оплатить через Яндекс" при нажатии на эту кнопку получал ошибку.

В службе поддержки Яндекс денег сообщили, что ошибка вызвана тем, что при оформлении тестового заказа я не указал свою почту и телефон, что является обязательным для выполнения 54 ФЗ. Фискальный чек при онлайн оплате должен быть отправлен покупателю на почту или телефон.

Прошу подсказать как сделать обязательными для заполнения поля телефон и почта.

код и настройки ТДС ИнтернетМагазинКорзина ниже


<?php

$Shop_Cart_Controller_Show = Core_Page::instance()->object;

$oShop = $Shop_Cart_Controller_Show->getEntity();

Shop_Payment_System_Handler::checkAfterContent($oShop);

// ------------------------------------------------
// Вывод информации о статусе платежа после его совершения и перенаправления с платежной системы
// ------------------------------------------------
if (isset($_REQUEST['payment'])
      || isset($_GET['action']) && ($_GET['action'] == 'PaymentSuccess' || $_GET['action'] == 'PaymentFail'
      || isset($_REQUEST['pg_order_id'])
)
{
   // Получаем ID заказа
   if (isset($_REQUEST['order_id']))
   {
      $order_id = intval(Core_Array::getRequest('order_id');
   }
   //от Яндекса
   elseif(isset($_GET['orderNumber']))
   {
      $order_id = intval(Core_Array::getGet('orderNumber');
   }
   //от PayPal
   elseif(isset($_REQUEST['invoice']))
   {
      $oShop_Order = Core_Entity::factory('Shop_Order'->getByGuid(Core_Array::getRequest('invoice');
      $order_id = $oShop_Order ? intval($oShop_Order->id) : NULL;
   }
   //от IntellectMoney
   elseif(isset($_REQUEST['orderId']))
   {
      $order_id = intval(Core_Array::getGet('orderId');
   }
   //от Platron
   elseif(isset($_REQUEST['pg_order_id']))
   {
      $order_id = intval(Core_Array::getRequest('pg_order_id');
   }
   else
   {
      $order_id = intval(Core_Array::getRequest('InvId');
   }

   $oShop_Order = Core_Entity::factory('Shop_Order'->find($order_id);

   if (Core::moduleIsActive('siteuser')
   {
      $siteuser_id = 0;

      $oSiteuser = Core_Entity::factory('Siteuser'->getCurrent();
      if ($oSiteuser)
      {
         $siteuser_id = $oSiteuser->id;
      }
   }
   else
   {
      $siteuser_id = FALSE;
   }

   // Если заказ принадлежит текущему авторизированному пользователю
   if ($oShop_Order->siteuser_id == $siteuser_id)
   {
      if (Core_Array::getRequest('payment' == 'success' || Core_Array::getRequest('action' == 'PaymentSuccess' || Core_Array::getRequest('pg_order_id' > 0)
      {
         ?><h1>Подтверждение платежа</h1>
         <p>Спасибо, информация об оплате заказа <strong>№ <?php echo $oShop_Order->invoice?></strong>
получена.</p>
         <?php
      }
      else
      {
         ?><h1>Платеж не получен</h1>
         <p>К сожалению при оплате заказа <strong>№ <?php echo $oShop_Order->invoice?></strong> произошла ошибка.</p>
         <?php
      }
   }
   // Для случаев, когда отключен модуль "Пользователи сайта"
   elseif ($siteuser_id === FALSE)
   {
      ?><h1>Подтверждение платежа</h1>
      <p>Благодарим за посещение нашего магазина!</p>
      <?php
   }
   else
   {
      ?><h1>Ошибка</h1>
      <p>Неверный номер заказа!</p>
      <?php
   }

   // Прерываем выполнение типовой динамической страницы
   return TRUE;
}

Core_Session::start();

if (Core_Array::getPost('oneStepCheckout')
{
   // Сбрасываем информацию о последнем заказе
   $_SESSION['last_order_id'] = 0;

   // Оформление в один шаг
   $Shop_Cart_Controller = Shop_Cart_Controller::instance();
   $aShop_Cart = $Shop_Cart_Controller->getAll($oShop);
   foreach ($aShop_Cart as $oShop_Cart)
   {
      $Shop_Cart_Controller
         ->shop_item_id($oShop_Cart->shop_item_id)
         ->delete();
   }

   $shop_item_id = intval(Core_Array::getRequest('shop_item_id');

   if ($shop_item_id)
   {
      Shop_Cart_Controller::instance()
         ->shop_item_id($shop_item_id)
         ->quantity(Core_Array::getRequest('count', 1))
         ->add();
   }

   $_SESSION['hostcmsOrder'] = array();

   $_SESSION['hostcmsOrder']['shop_country_id'] = intval(Core_Array::getPost('shop_country_id', 0));
   $_SESSION['hostcmsOrder']['shop_country_location_id'] = intval(Core_Array::getPost('shop_country_location_id', 0));
   $_SESSION['hostcmsOrder']['shop_country_location_city_id'] = intval(Core_Array::getPost('shop_country_location_city_id', 0));
   $_SESSION['hostcmsOrder']['shop_country_location_city_area_id'] = intval(Core_Array::getPost('shop_country_location_city_area_id', 0));
   $_SESSION['hostcmsOrder']['postcode'] = Core_Str::stripTags(strval(Core_Array::getPost('postcode'));
   $_SESSION['hostcmsOrder']['address'] = Core_Str::stripTags(strval(Core_Array::getPost('address'));
   $_SESSION['hostcmsOrder']['surname'] = Core_Str::stripTags(strval(Core_Array::getPost('surname'));
   $_SESSION['hostcmsOrder']['name'] = Core_Str::stripTags(strval(Core_Array::getPost('name'));
   $_SESSION['hostcmsOrder']['patronymic'] = Core_Str::stripTags(strval(Core_Array::getPost('patronymic'));
   $_SESSION['hostcmsOrder']['phone'] = Core_Str::stripTags(strval(Core_Array::getPost('phone'));
   $_SESSION['hostcmsOrder']['email'] = Core_Str::stripTags(strval(Core_Array::getPost('email'));
   $_SESSION['hostcmsOrder']['description'] = Core_Str::stripTags(strval(Core_Array::getPost('description'));

   // Additional order properties
   $_SESSION['hostcmsOrder']['properties'] = array();

   $oShop_Order_Property_List = Core_Entity::factory('Shop_Order_Property_List', $oShop->id);

   $aProperties = $oShop_Order_Property_List->Properties->findAll();
   foreach ($aProperties as $oProperty)
   {
      // Св-во может иметь несколько значений
      $aPropertiesValue = Core_Array::getPost('property_' . $oProperty->id);

      if (!is_null($aPropertiesValue))
      {
         !is_array($aPropertiesValue) && $aPropertiesValue = array($aPropertiesValue);
         foreach ($aPropertiesValue as $sPropertyValue)
         {
            $_SESSION['hostcmsOrder']['properties'][] = array($oProperty->id, $sPropertyValue);
         }
      }
   }

   $shop_delivery_condition_id = strval(Core_Array::getPost('shop_delivery_condition_id', 0));

   if (is_numeric($shop_delivery_condition_id))
   {
      $_SESSION['hostcmsOrder']['shop_delivery_condition_id'] = intval($shop_delivery_condition_id);

      $oShop_Delivery_Condition = Core_Entity::factory('Shop_Delivery_Condition', $_SESSION['hostcmsOrder']['shop_delivery_condition_id']);
      $_SESSION['hostcmsOrder']['shop_delivery_id'] = $oShop_Delivery_Condition->shop_delivery_id;
   }

   $_POST['step'] = 4;
}

switch (Core_Array::getPost('recount' ? 0 : Core_Array::getPost('step')
{
   // Адрес доставки
   case 1:
      // Сбрасываем информацию о последнем заказе
      $_SESSION['last_order_id'] = 0;

      $Shop_Address_Controller_Show = new Shop_Address_Controller_Show($oShop);

      $Shop_Address_Controller_Show->xsl(
            Core_Entity::factory('Xsl'->getByName(
               Core_Array::get(Core_Page::instance()->libParams, 'deliveryAddressXsl'
            )
         )
         ->show();
   break;
   // Способ доставки
   case 2:
      $_SESSION['hostcmsOrder']['shop_country_id'] = intval(Core_Array::getPost('shop_country_id', 0));
      $_SESSION['hostcmsOrder']['shop_country_location_id'] = intval(Core_Array::getPost('shop_country_location_id', 0));
      $_SESSION['hostcmsOrder']['shop_country_location_city_id'] = intval(Core_Array::getPost('shop_country_location_city_id', 0));
      $_SESSION['hostcmsOrder']['shop_country_location_city_area_id'] = intval(Core_Array::getPost('shop_country_location_city_area_id', 0));
      $_SESSION['hostcmsOrder']['postcode'] = Core_Str::stripTags(strval(Core_Array::getPost('postcode'));
      $_SESSION['hostcmsOrder']['address'] = Core_Str::stripTags(strval(Core_Array::getPost('address'));
      $_SESSION['hostcmsOrder']['surname'] = Core_Str::stripTags(strval(Core_Array::getPost('surname'));
      $_SESSION['hostcmsOrder']['name'] = Core_Str::stripTags(strval(Core_Array::getPost('name'));
      $_SESSION['hostcmsOrder']['patronymic'] = Core_Str::stripTags(strval(Core_Array::getPost('patronymic'));
      $_SESSION['hostcmsOrder']['company'] = Core_Str::stripTags(strval(Core_Array::getPost('company'));
      $_SESSION['hostcmsOrder']['phone'] = Core_Str::stripTags(strval(Core_Array::getPost('phone'));
      $_SESSION['hostcmsOrder']['fax'] = Core_Str::stripTags(strval(Core_Array::getPost('fax'));
      $_SESSION['hostcmsOrder']['email'] = Core_Str::stripTags(strval(Core_Array::getPost('email'));
      $_SESSION['hostcmsOrder']['description'] = Core_Str::stripTags(strval(Core_Array::getPost('description'));
      $_SESSION['hostcmsOrder']['tin'] = Core_Str::stripTags(strval(Core_Array::getPost('tin'));
      $_SESSION['hostcmsOrder']['kpp'] = Core_Str::stripTags(strval(Core_Array::getPost('kpp'));

      // Additional order properties
      $_SESSION['hostcmsOrder']['properties'] = array();

      $oShop_Order_Property_List = Core_Entity::factory('Shop_Order_Property_List', $oShop->id);

      $aProperties = $oShop_Order_Property_List->Properties->findAll();
      foreach ($aProperties as $oProperty)
      {
         // Св-во может иметь несколько значений
         $aPropertiesValue = Core_Array::getPost('property_' . $oProperty->id);

         if (!is_null($aPropertiesValue))
         {
            !is_array($aPropertiesValue) && $aPropertiesValue = array($aPropertiesValue);
            foreach ($aPropertiesValue as $sPropertyValue)
            {
               $_SESSION['hostcmsOrder']['properties'][] = array($oProperty->id, $sPropertyValue);
            }
         }
      }

      $Shop_Delivery_Controller_Show = new Shop_Delivery_Controller_Show($oShop);

      $Shop_Delivery_Controller_Show
         ->shop_country_id($_SESSION['hostcmsOrder']['shop_country_id'])
         ->shop_country_location_id($_SESSION['hostcmsOrder']['shop_country_location_id'])
         ->shop_country_location_city_id($_SESSION['hostcmsOrder']['shop_country_location_city_id'])
         ->shop_country_location_city_area_id($_SESSION['hostcmsOrder']['shop_country_location_city_area_id'])
         ->couponText(
            Core_Str::stripTags(Core_Array::get(Core_Array::getSession('hostcmsOrder', array()), 'coupon_text')
         )
         ->postcode($_SESSION['hostcmsOrder']['postcode'])
         ->setUp()
         ->xsl(
            Core_Entity::factory('Xsl'->getByName(
               Core_Array::get(Core_Page::instance()->libParams, 'deliveryXsl'
            )
         )
         ->show();
   break;
   // Форма оплаты
   case 3:
      $Shop_Payment_System_Controller_Show = new Shop_Payment_System_Controller_Show($oShop);

      $shop_delivery_condition_id = strval(Core_Array::getPost('shop_delivery_condition_id', 0));

      if (is_numeric($shop_delivery_condition_id))
      {
         $_SESSION['hostcmsOrder']['shop_delivery_condition_id'] = intval($shop_delivery_condition_id);

         $oShop_Delivery_Condition = Core_Entity::factory('Shop_Delivery_Condition', $_SESSION['hostcmsOrder']['shop_delivery_condition_id']);
         $_SESSION['hostcmsOrder']['shop_delivery_id'] = $oShop_Delivery_Condition->shop_delivery_id;
      }
      else
      {
         $_SESSION['hostcmsOrder']['shop_delivery_condition_id'] = 0;

         // в shop_delivery_condition_id тогда "10-123#", ID элемента массива в сессии, в котором
         // хранится стоимость доставки, налог, название специфичного условия доставки
         list($shopDeliveryInSession) = explode('#', $shop_delivery_condition_id);

         if (isset($_SESSION['hostcmsOrder']['deliveries'][$shopDeliveryInSession]))
         {
            $aTmp = $_SESSION['hostcmsOrder']['deliveries'][$shopDeliveryInSession];

            $_SESSION['hostcmsOrder']['shop_delivery_id'] = $aTmp['shop_delivery_id'];
            $_SESSION['hostcmsOrder']['shop_delivery_price'] = $aTmp['price'];
            $_SESSION['hostcmsOrder']['shop_delivery_rate'] = $aTmp['rate'];
            $_SESSION['hostcmsOrder']['shop_delivery_name'] = $aTmp['name'];
         }
      }

      $Shop_Payment_System_Controller_Show
         ->shop_delivery_id(Core_Array::get($_SESSION['hostcmsOrder'], 'shop_delivery_id')
         ->xsl(
            Core_Entity::factory('Xsl'->getByName(
               Core_Array::get(Core_Page::instance()->libParams, 'paymentSystemXsl'
            )
         )
         ->show();
   break;
   // Окончание оформления заказа
   case 4:
      // Проверяем наличие товара в корзины
      $Shop_Cart_Controller = Shop_Cart_Controller::instance();
      $aShop_Cart = $Shop_Cart_Controller->getAll($oShop);

      // А корзине есть товары или заполнен номер последнего заказа
      if (count($aShop_Cart) || Core_Array::get($_SESSION, 'last_order_id')
      {
         $shop_payment_system_id
            = $_SESSION['hostcmsOrder']['shop_payment_system_id']
            = intval(Core_Array::getPost('shop_payment_system_id', 0));

         // Оплата бонусами с лицевого счета
         $_SESSION['hostcmsOrder']['partial_payment_by_personal_account'] = Core_Array::getPost('partial_payment_by_personal_account', 0);

         // Если выбрана платежная система
         if ($_SESSION['hostcmsOrder']['shop_payment_system_id'])
         {
            Shop_Payment_System_Handler::factory(
               Core_Entity::factory('Shop_Payment_System', $shop_payment_system_id)
            )
            ->orderParams($_SESSION['hostcmsOrder'])
            ->execute();
         }
         else
         {
            ?><h1>Ошибка! Не указана ни одна платежная система.</h1><?php
         }

         // Иначе не прерываем и выводим последний шаг - обычная корзина
         break;
      }
   default:
      $xslName = Core_Array::get(Core_Page::instance()->libParams, 'cartXsl';

      $Shop_Cart_Controller_Show
         ->couponText(
            Core_Str::stripTags(Core_Array::get(Core_Array::get($_SESSION, 'hostcmsOrder', array()), 'coupon_text')
         )
         ->xsl(
            Core_Entity::factory('Xsl'->getByName($xslName)
         )
         ->show();
}

// Блок авторизации пользователя
if (Core::moduleIsActive('siteuser' && is_null(Core_Array::getPost('oneStepCheckout'))
{
   $oSiteuser = Core_Entity::factory('Siteuser'->getCurrent();

   if (is_null($oSiteuser))
   {
      // Авторизация
      $Siteuser_Controller_Show = new Siteuser_Controller_Show(
         Core_Entity::factory('Siteuser'
      );

      $Siteuser_Controller_Show
         ->location(Core::$url['path'])
         ->xsl(
            Core_Entity::factory('Xsl'->getByName(
               Core_Array::get(Core_Page::instance()->libParams, 'userAuthorizationXsl'
            )
         )
         ->show();

      // Регистрация
      /*$Siteuser_Controller_Show = new Siteuser_Controller_Show(
         Core_Entity::factory('Siteuser'
      );

      $Siteuser_Controller_Show->xsl(
            Core_Entity::factory('Xsl'->getByName(
               Core_Array::get(Core_Page::instance()->libParams, 'userRegistrationXsl'
            )
         )
         ->location(Core::$url['path'])
         ->fastRegistration(TRUE)
         ->properties(TRUE)
         //->showMaillists(TRUE)
         ->show();*/
   }
}

==================Настройки ТДС========================



<?php

$oShop = Core_Entity::factory('Shop', Core_Array::get(Core_Page::instance()->libParams, 'shopId');

// Проверять остаток на складе при добавлении в корзину
$bCheckStock = FALSE;

Shop_Payment_System_Handler::checkBeforeContent($oShop);

// Добавление товара в корзину
if (Core_Array::getRequest('add')
{
   // Запрещаем индексацию страницы корзины
   Core_Page::instance()->response
      ->header('X-Robots-Tag', 'none';

   $add = Core_Array::getRequest('add';
   !is_array($add) && $add = array($add);

   $count = Core_Array::getRequest('count', 1);
   !is_array($count) && $count = array($count);

   $oShop_Cart_Controller = Shop_Cart_Controller::instance();

   foreach ($add as $key => $shop_item_id)
   {
      $oShop_Cart_Controller
         ->clear()
         ->checkStock($bCheckStock)
         ->shop_item_id(intval($shop_item_id))
         ->quantity(intval(Core_Array::get($count, $key, 1)))
         ->add();
   }
}

// Ajax
if (Core_Array::getRequest('_', FALSE)
   && (Core_Array::getRequest('add' || Core_Array::getRequest('loadCart'))
{
   ob_start();

   // Краткая корзина
   $Shop_Cart_Controller_Show = new Shop_Cart_Controller_Show(
      $oShop
   );
   $Shop_Cart_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl'->getByName(
            Core_Array::get(Core_Page::instance()->libParams, 'littleCartXsl'
         )
      )
      ->couponText(Core_Array::get($_SESSION, 'coupon_text')
      ->show();

   echo json_encode(ob_get_clean());
   exit();
}

// Быстрый заказ в 1 клик
if (!is_null(Core_Array::getRequest('oneStepCheckout'))
{
   $shop_item_id = intval(Core_Array::getRequest('shop_item_id');

   $Shop_Cart_Controller_Onestep = new Shop_Cart_Controller_Onestep($oShop);

   // Генерация окна с заказом в 1 клик
   if (!is_null(Core_Array::getRequest('showDialog')
         && Core_Array::getRequest('_', FALSE)
         && $shop_item_id
   )
   {
      ob_start();

      $oneStepXslName = Core_Array::get(Core_Page::instance()->libParams, 'oneStepXsl';

      $iQuantity = Core_Array::getRequest('count', 1);

      $Shop_Cart_Controller_Onestep
         ->xsl(
            Core_Entity::factory('Xsl'->getByName($oneStepXslName)
         )
         ->shop_item_id($shop_item_id)
         ->quantity($iQuantity);

      $Shop_Cart_Controller_Onestep->addEntity(
         Core::factory('Core_Xml_Entity'
            ->name('count'->value($iQuantity)
      );

      $Shop_Cart_Controller_Onestep->show();

      echo json_encode(array('html' => ob_get_clean(), 'id' => $shop_item_id));
      exit();
   }

   // Список доставок
   if (!is_null(Core_Array::getRequest('showDelivery'))
   {
      $shop_country_id = Core_Array::getRequest('shop_country_id', 0);
      $shop_country_location_id = Core_Array::getRequest('shop_country_location_id', 0);
      $shop_country_location_city_id = Core_Array::getRequest('shop_country_location_city_id', 0);
      $shop_country_location_city_area_id = Core_Array::getRequest('shop_country_location_city_area_id', 0);

      $oShop_Item = Core_Entity::factory('Shop_Item'->find($shop_item_id);
      if (!is_null($oShop_Item->id))
      {
         $aTotal = $Shop_Cart_Controller_Onestep->quantity(Core_Array::getRequest('count', 1))->calculatePrice($oShop_Item);

         $aDelivery = $Shop_Cart_Controller_Onestep->showDelivery($shop_country_id, $shop_country_location_id, $shop_country_location_city_id, $shop_country_location_city_area_id, $aTotal['weight'], $aTotal['amount']);

         echo json_encode(array('delivery' => $aDelivery));
         exit();
      }
   }

   // Список платежных систем
   if (!is_null(Core_Array::getRequest('showPaymentSystem'))
   {
      $shop_delivery_condition_id = strval(Core_Array::getGet('shop_delivery_condition_id', 0));

      $aPaymentSystems = array();
      if (is_numeric($shop_delivery_condition_id))
      {
         $oShop_Delivery_Condition = Core_Entity::factory('Shop_Delivery_Condition', $shop_delivery_condition_id);

         $aPaymentSystems = $Shop_Cart_Controller_Onestep->showPaymentSystem($oShop_Delivery_Condition->shop_delivery_id);
      }

      echo json_encode(array('payment_systems' => $aPaymentSystems));
      exit();
   }
}

if (Core_Array::getGet('action' == 'repeat'
{
   $guid = Core_Array::getGet('guid';
   if (strlen($guid))
   {
      $oShop_Order = $oShop->Shop_Orders->getByGuid($guid);

      if (!is_null($oShop_Order))
      {
         $aShop_Order_Items = $oShop_Order->Shop_Order_Items->findAll();

         $oShop_Cart_Controller = Shop_Cart_Controller::instance();

         foreach ($aShop_Order_Items as $oShop_Order_Item)
         {
            $oShop_Order_Item->shop_item_id && $oShop_Cart_Controller
               ->clear()
               ->checkStock($bCheckStock)
               ->shop_item_id($oShop_Order_Item->shop_item_id)
               ->quantity($oShop_Order_Item->quantity)
               ->marking($oShop_Order_Item->marking)
               ->add();
         }
      }
   }
}

if (!is_null(Core_Array::getGet('ajaxLoad'))
{
   $aObjects = array();

   if (Core_Array::getGet('shop_country_id')
   {
      $oShop_Country_Location = Core_Entity::factory('Shop_Country_Location';
      $oShop_Country_Location
         ->queryBuilder()
         ->where('shop_country_id', '=', intval(Core_Array::getGet('shop_country_id'));
      $aObjects = $oShop_Country_Location->findAll();
   }
   elseif (Core_Array::getGet('shop_country_location_id')
   {
      $oShop_Country_Location_City = Core_Entity::factory('Shop_Country_Location_City';
      $oShop_Country_Location_City
         ->queryBuilder()
         ->where('shop_country_location_id', '=', intval(Core_Array::getGet('shop_country_location_id'));
      $aObjects = $oShop_Country_Location_City->findAll();
   }
   elseif (Core_Array::getGet('shop_country_location_city_id')
   {
      $oShop_Country_Location_City_Area = Core_Entity::factory('Shop_Country_Location_City_Area';
      $oShop_Country_Location_City_Area
         ->queryBuilder()
         ->where('shop_country_location_city_id', '=', intval(Core_Array::getGet('shop_country_location_city_id'));
      $aObjects = $oShop_Country_Location_City_Area->findAll();
   }

   $aArray = array('…';
   foreach ($aObjects as $Object)
   {
      //$aArray['_' . $Object->id] = $Object->name;
      $aArray['_' . $Object->id] = $Object->getName();
   }

   echo json_encode($aArray);
   exit();
}

// Удаляение товара из корзины
if (Core_Array::getGet('delete')
{
   $shop_item_id = intval(Core_Array::getGet('delete');

   if ($shop_item_id)
   {
      $oShop_Cart_Controller = Shop_Cart_Controller::instance();
      $oShop_Cart_Controller
         ->shop_item_id($shop_item_id)
         ->delete();
   }
}

// Запоминаем купон
if (!is_null(Core_Array::getRequest('coupon_text'))
{
   $_SESSION['hostcmsOrder']['coupon_text'] = trim(strval(Core_Array::getRequest('coupon_text'));
}

if (Core_Array::getPost('recount' || Core_Array::getPost('step' == 1)
{
   $oShop_Cart_Controller = Shop_Cart_Controller::instance();
   $aCart = $oShop_Cart_Controller->getAll($oShop);

   // Склад по умолчанию
   $oShop_Warehouse = $oShop->Shop_Warehouses->getDefault();

   foreach ($aCart as $oShop_Cart)
   {
      $quantity = Core_Array::getPost('quantity_' . $oShop_Cart->shop_item_id);

      // Количество было передано
      if (!is_null($quantity))
      {
         $oShop_Cart_Controller
            ->clear()
            ->checkStock($bCheckStock)
            ->shop_item_id($oShop_Cart->shop_item_id)
            ->quantity($quantity)
            ->postpone(is_null(Core_Array::getPost('postpone_' . $oShop_Cart->shop_item_id)) ? 0 : 1)
            ->shop_warehouse_id(
               Core_Array::getPost('warehouse_' . $oShop_Cart->shop_item_id, !is_null($oShop_Warehouse) ? $oShop_Warehouse->id : 0)
            )
            ->update();
      }
   }
}

$Shop_Cart_Controller_Show = new Shop_Cart_Controller_Show($oShop);

Core_Page::instance()->object = $Shop_Cart_Controller_Show;

#
Re: Как сделать обязательным поле ввода email и телефон при оформлении заказа. 54 ФЗ
Как правило такую проверку реализуют через jquery.validate https://www.hostcms.ru/documentation/step-by-step/templates/jquery.validate/
«Не выходи из комнаты, не совершай ошибку…»
Авторизация