Guest User

bitrix autoincrement custom field

a guest
Jan 12th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.37 KB | None | 0 0
  1. AddEventHandler("iblock", "OnIBlockPropertyBuildList", array("CIBlockPropertyCustom", "GetUserTypeDescription"));
  2.  
  3. class CIBlockPropertyCustom
  4. {
  5.     public function GetUserTypeDescription()
  6.     {
  7.         return array(
  8.             "PROPERTY_TYPE" => "N",
  9.             "USER_TYPE" => "HTML",
  10.             "DESCRIPTION" => "Autoincrement field",
  11.             "GetPropertyFieldHtml" => array("CIBlockPropertyCustom", "GetPropertyFieldHtml"),
  12.         );
  13.     }
  14.  
  15.     // вывод поля свойства на странице редактирования
  16.     public function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
  17.     {
  18.         return '<input type="hidden" name="' . $strHTMLControlName["VALUE"] . '" value="' . $value['VALUE'] . '">' . ($value['VALUE'] ?: 'обновится после добавления заказа');
  19.     }
  20. }
  21.  
  22. AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("OrderAdd", "OnBeforeIBlockElementAddHandler"));
  23.  
  24. class OrderAdd
  25. {
  26.     // создаем обработчик события "OnAfterIBlockElementAdd"
  27.     function OnBeforeIBlockElementAddHandler(&$arFields)
  28.     {
  29.         if ((int)$arFields['IBLOCK_ID'] == 33 and !$arFields['ID']) {
  30.             CUserCounter::Increment(1, 'order_id');
  31.             $arFields['PROPERTY_VALUES'][114] = CUserCounter::GetValue(1, 'order_id');
  32.         }
  33.         return;
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment