if (CModule::IncludeModule("iblock"))
{
class filterEnumClass extends CIBlockPropertyElementList //класс, описывающий пользовательское свойство
{
function GetUserTypeDescription()
{
return array(
'PROPERTY_TYPE' => 'L',
'USER_TYPE' => 'Filter_enum',
'DESCRIPTION' => 'Фильтр_список',
'PrepareSettings' => array('filterEnumClass','PrepareSettings'),
'GetPropertyFieldHtml' => array('filterEnumClass','GetPropertyFieldHtml'),
'GetSettingsHTML' => array('filterEnumClass','GetSettingsHTML'),
'CheckFields' => array('filterEnumClass','CheckFields'),
);
}
function PrepareSettings($arUserField)
{
return array(
"DESCRIPTION" => $arUserField["USER_TYPE_SETTINGS"]["DESCRIPTION"],
);
}
function GetSettingsHTML($arUserField, $arHtmlControl, $bVarsFromForm)
{
$result = '';
$value = $arUserField["USER_TYPE_SETTINGS"]["DESCRIPTION"];
$result .= '
<tr valign="top">
<td>Описание свойства:</td>
<td>
<textarea name="'.$arHtmlControl["NAME"].'[DESCRIPTION]" rows="10" cols="40">'.$value.'</textarea>
</td>
</tr>
';
return $result;
}
function CheckFields($arUserField, $value)
{
$aMsg = array();
return $aMsg;
}
function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
{
//функция отвечает за отображение в редактировании карточки товара - не думаю, что есть смысл ее тут приводить
}
}
}
AddEventHandler("iblock",'OnIBlockPropertyBuildList',array('filterEnumClass','GetUserTypeDescription'));
|