- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/usertypemanager.php
- Класс: CUserTypeManager
- Вызов: CUserTypeManager::GetPublicView
function GetPublicView($arUserField, $arAdditionalParameters = array())
{
$event = new BitrixMainEvent("main", "onBeforeGetPublicView", array(&$arUserField, &$arAdditionalParameters));
$event->send();
$arType = $this->GetUserType($arUserField["USER_TYPE_ID"]);
$html = null;
$event = new BitrixMainEvent("main", "onGetPublicView", array($arUserField, $arAdditionalParameters));
$event->send();
foreach($event->getResults() as $evenResult)
{
if($evenResult->getType() == BitrixMainEventResult::SUCCESS)
{
$html = $evenResult->getParameters();
break;
}
}
if($html !== null)
{
//All done
}
elseif(isset($arUserField["VIEW_CALLBACK"]) && is_callable($arUserField['VIEW_CALLBACK']))
{
$html = call_user_func_array($arUserField["VIEW_CALLBACK"], array(
$arUserField,
$arAdditionalParameters
));
}
elseif($arType && isset($arType["VIEW_CALLBACK"]) && is_callable($arType['VIEW_CALLBACK']))
{
$html = call_user_func_array($arType["VIEW_CALLBACK"], array(
$arUserField,
$arAdditionalParameters
));
}
elseif(isset($arUserField["VIEW_COMPONENT_NAME"]))
{
$html = $this->CallUserTypeComponent(
$arUserField["VIEW_COMPONENT_NAME"],
$arUserField["VIEW_COMPONENT_TEMPLATE"],
$arUserField,
$arAdditionalParameters
);
}
elseif($arType && isset($arType["VIEW_COMPONENT_NAME"]))
{
$html = $this->CallUserTypeComponent(
$arType["VIEW_COMPONENT_NAME"],
$arType["VIEW_COMPONENT_TEMPLATE"],
$arUserField,
$arAdditionalParameters
);
}
else
{
$html = $this->CallUserTypeComponent(
"bitrix:system.field.view",
$arUserField["USER_TYPE_ID"],
$arUserField,
$arAdditionalParameters
);
}
$event = new BitrixMainEvent("main", "onAfterGetPublicView", array($arUserField, $arAdditionalParameters, &$html));
$event->send();
return $html;
}