Advertisement
Trigub_Ilia

Добавление нового типа свойства в инфоблок

Jan 10th, 2018
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.28 KB | None | 0 0
  1. //file name - init.php
  2. <?
  3. include_once($_SERVER['DOCUMENT_ROOT']."/bitrix/php_interface/prop.php");
  4. ?>
  5.  
  6.  
  7. //file name - prop.php
  8. <?
  9. AddEventHandler("iblock","OnIBlockPropertyBuildList",array("Property_Service_List_Class","GetUserTypeDescription"));
  10.  
  11. if(!class_exists("Property_Service_List_Class"))
  12. {
  13.     class Property_Service_List_Class
  14.     {
  15.         function GetUserTypeDescription()
  16.         {
  17.             return array(
  18.                 "PROPERTY_TYPE"   => "S",
  19.                 "USER_TYPE"    => "EServiceList",
  20.                 "DESCRIPTION"   => "Услуги",
  21.                 "GetPropertyFieldHtml" => array("Property_Service_List_Class","GetPropertyFieldHtml"),
  22.                 "GetPublicEditHTML"  => array("Property_Service_List_Class","GetPropertyFieldHtml"),
  23.                 "ConvertToDB"   => array("Property_Service_List_Class","ConvertToDB"),
  24.                 "ConvertFromDB"   => array("Property_Service_List_Class","ConvertFromDB"),
  25.                 "GetAdminListViewHTML" => array("Property_Service_List_Class","GetAdminListViewHTML"),
  26.             );
  27.         }
  28.  
  29.         function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
  30.         {
  31.  
  32.             $arResult = array();
  33.  
  34.             $cache[$IBLOCK_ID] = array();
  35.  
  36.             $html = '';
  37.             $html = "<table>";
  38.             //$html .= "<tr><th>Наименование</th><th>Цена</th><th>Время</th><th>Гарантия</th><th>Наличие запчастей</th><th>Описание</th></tr>";
  39.             $html .= "<tr>";
  40.             $html .= '<td><input type="text" size="35" placeholder="Наименование" name="'.$strHTMLControlName['VALUE'].'[]" value="'.$value['VALUE'][0].'" /></td>';
  41.             $html .= '<td><input type="text" size="5" placeholder="Цена" name="'.$strHTMLControlName['VALUE'].'[]" value="'.$value['VALUE'][1].'" /></td>';
  42.             $html .= '<td><input type="text" size="5" placeholder="Время" name="'.$strHTMLControlName['VALUE'].'[]" value="'.$value['VALUE'][2].'" /></td>';
  43.             $html .= '<td><input type="text" size="5" placeholder="Гарантия" name="'.$strHTMLControlName['VALUE'].'[]" value="'.$value['VALUE'][3].'" /></td>';
  44.             $html .= '<td><input type="text" size="15" placeholder="Наличие запчастей" name="'.$strHTMLControlName['VALUE'].'[]" value="'.$value['VALUE'][4].'" /></td>';
  45.             $html .= '<td><input type="text" size="15" placeholder="Описание" name="'.$strHTMLControlName['VALUE'].'[]" value="'.$value['VALUE'][5].'" /></td>';
  46.             $html .= '</tr>';
  47.             $html .= "</table>";
  48.  
  49.             return  $html;
  50.         }
  51.  
  52.         function ConvertToDB($arProperty, $value)
  53.         {
  54.             if($value['VALUE'][0]!='') {
  55.                 $value['VALUE'] = serialize($value['VALUE']);
  56.             } else {
  57.                 $value['VALUE'] = null;
  58.             }
  59.             return $value;
  60.         }
  61.  
  62.         function ConvertFromDB($arProperty, $value){
  63.             if(strlen($value["VALUE"])>0) {
  64.                 $tmpArr = unserialize($value["VALUE"]);
  65.                 if(is_array($tmpArr) && count($tmpArr))
  66.                     $value["VALUE"] = $tmpArr;
  67.             } else {
  68.                 $value["VALUE"] = null;
  69.             }
  70.             return $value;
  71.         }
  72.  
  73.  
  74.         function GetAdminListViewHTML($arProperty, $value, $strHTMLControlName) {
  75.             if(is_array($value["VALUE"]) && count($value["VALUE"])) {
  76.                 $tmpArr = array();
  77.                 $tmpArr[] = "[".$value['VALUE'][0]."] - ".$value['VALUE'][1]." - ".$value['VALUE'][2]." - ".$value['VALUE'][3]." - ".$value['VALUE'][4]." - ".$value['VALUE'][5];
  78.  
  79.                 return implode(" /\n",$tmpArr);
  80.             }
  81.             else
  82.             {
  83.                 return htmlspecialcharsex($value["VALUE"]);
  84.             }
  85.         }
  86.  
  87.     }
  88. }
  89. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement