Добавляем скрытые свойства заказа со значениями по умолчанию

Задача: создать свойство заказа «Источник заказа». Свойство должно быть типа Select со значением по умолчанию «Корзина».

В Битриксе для скрытия свойства заказа от пользователя существует галочка — «Служебное», а для выставления какого либо значения по умолчанию для поля типа SELECT достаточно вписать его код в поле «Значение по умолчанию».

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

Чтобы значение по умолчанию выставлялось в обоих случаях и не было видно пользователю, создадим группу свойств заказа с названием «Скрытые» и снимем галочку с поля «Служебное» и добавим в шаблон оформления заказа условие «Если поле из группы скрытых то делаем невидимым».

skrytye-svoystva.png

Шаблон по умолчанию bitrix/components/bitrix/sale.order.ajax/templates/.default/props.php

<?foreach($arSource as $arProperties)
{
   if('Скрытые' == $arProperties["GROUP_NAME"]){$isHidden = true;}else{ $isHidden = false;}

   if($arProperties["SHOW_GROUP_NAME"] == "Y")
   {
      ?>
      <tr <?if($isHidden) echo 'style="display: none;"'?>>
         <td colspan="2">
            <b><?= $arProperties["GROUP_NAME"] ?></b>
         </td>
      </tr>
      <?
   }
   ?>
   <tr <?if($isHidden) echo 'style="display: none;"'?>>
...
...
?>

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


Загрузка комментариев...