<?
AddEventHandler('iblock', 'OnIBlockPropertyBuildList', array('CIBlockElementListExtended', 'GetUserTypeDescription'), 5000);
require dirname(__FILE__)."/lang/".LANGUAGE_ID."/property_type.php";
class CIBlockElementListExtended
{
function GetUserTypeDescription()
{
return array(
"PROPERTY_TYPE" => "E",
"USER_TYPE" => "ElementExtended",
"DESCRIPTION"=> GetMessage("PROP_TYPE_ELEMENT_LIST_EXTENDED_DESCRIPTION"),
"GetPropertyFieldHtml" => array("CIBlockElementListExtended","GetPropertyFieldHtml"),
);
}
function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName)
{
$strResult = "";
if(intval($value["VALUE"]) > 0)
{
$arFilter = Array(
"ID" => intval($value["VALUE"]),
"IBLOCK_ID" => $arProperty["LINK_IBLOCK_ID"],
);
$rsItem = CIBlockElement::GetList(Array(), $arFilter, false, false, Array("ID", "IBLOCK_ID", "NAME"));
$arItem = $rsItem->GetNext();
}
$strResult .=
'<input name="'.$strHTMLControlName["VALUE"].'" id="'.$strHTMLControlName["VALUE"].'" value="'.htmlspecialcharsex($value["VALUE"]).'" size="5" type="text">'.
'<input type="button" value="..." onClick="jsUtils.OpenWindow(\'/bitrix/admin/iblock_element_search.php?lang='.LANG.'&IBLOCK_ID='.$arProperty["LINK_IBLOCK_ID"].'&n='.$strHTMLControlName["VALUE"].'\', 600, 500);">'.
' <input type="text" name="'.$strHTMLControlName["DESCRIPTION"].'" value="'.htmlspecialcharsex($value["DESCRIPTION"]).'" />'.
' <span id="'.md5($strHTMLControlName["VALUE"]).'" >'.$arItem["NAME"].'</span>';
return $strResult;
}
}