Ответа не дождался - разобрался сам. Вот код решения, вдруг кому пригодится.
[CODE]AddEventHandler('iblock', 'OnIBlockPropertyBuildList', array('SubList', 'GetUserTypeDescription')); //построение списка свойств инфоблока
class SubList{
function GetUserTypeDescription(){
return array(
"PROPERTY_TYPE" => "S",
"USER_TYPE" => "custom_table",
"DESCRIPTION" => 'Список рассылок',
"GetPropertyFieldHtml" => array(__CLASS__,"GetPropertyFieldHtml"), // Возращает html для редактирования элемента в административной части
"ConvertToDB" => array(__CLASS__,"ConvertToDB"), // Для сохранения элемента в базе данных (серилизованная строка)
"ConvertFromDB" => array(__CLASS__,"ConvertFromDB"), // Чтение из базы в формат обработки
);
}
function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
{
$rub = CRubric::GetList(array("SORT"=>"ASC"), array('ACTIVE'=>"Y"));
$arRubrics = array();
echo '<select name="'.$strHTMLControlName["VALUE"].'">';
while($arRubric = $rub->GetNext()) {
$sel = "";
if ($arRubric["ID"]==$value["VALUE"])
{
$sel = "selected";
}
echo '<option value="'.$arRubric["ID"].'" '.$sel.' >'.$arRubric["NAME"].'</option>';
}
echo '</select>';
}
function ConvertToDB($arProperty, $value)
{
return $value;
}
function ConvertFromDB($arProperty, $value)
{
return $value;
}
}
[/CODE]
[CODE]AddEventHandler('iblock', 'OnIBlockPropertyBuildList', array('SubList', 'GetUserTypeDescription')); //построение списка свойств инфоблока
class SubList{
function GetUserTypeDescription(){
return array(
"PROPERTY_TYPE" => "S",
"USER_TYPE" => "custom_table",
"DESCRIPTION" => 'Список рассылок',
"GetPropertyFieldHtml" => array(__CLASS__,"GetPropertyFieldHtml"), // Возращает html для редактирования элемента в административной части
"ConvertToDB" => array(__CLASS__,"ConvertToDB"), // Для сохранения элемента в базе данных (серилизованная строка)
"ConvertFromDB" => array(__CLASS__,"ConvertFromDB"), // Чтение из базы в формат обработки
);
}
function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
{
$rub = CRubric::GetList(array("SORT"=>"ASC"), array('ACTIVE'=>"Y"));
$arRubrics = array();
echo '<select name="'.$strHTMLControlName["VALUE"].'">';
while($arRubric = $rub->GetNext()) {
$sel = "";
if ($arRubric["ID"]==$value["VALUE"])
{
$sel = "selected";
}
echo '<option value="'.$arRubric["ID"].'" '.$sel.' >'.$arRubric["NAME"].'</option>';
}
echo '</select>';
}
function ConvertToDB($arProperty, $value)
{
return $value;
}
function ConvertFromDB($arProperty, $value)
{
return $value;
}
}
[/CODE]