protected static function getMultiFieldTypeIDs() { if (self::$MULTIFIELD_TYPE_IDS === null) { self::$MULTIFIELD_TYPE_IDS = array_keys(CCrmFieldMulti::GetEntityTypeInfos()); } return self::$MULTIFIELD_TYPE_IDS; }
function __CrmQuickPanelViewPrepareMultiFields(array $multiFields, $entityTypeName, $entityID, $typeID) { if (empty($multiFields)) { return null; } $arEntityTypeInfos = CCrmFieldMulti::GetEntityTypeInfos(); $arEntityTypes = CCrmFieldMulti::GetEntityTypes(); $sipConfig = array('STUB' => GetMessage('CRM_ENTITY_QPV_MULTI_FIELD_NOT_ASSIGNED'), 'ENABLE_SIP' => true, 'SIP_PARAMS' => array('ENTITY_TYPE' => 'CRM_' . $entityTypeName, 'ENTITY_ID' => $entityID)); $typeInfo = isset($arEntityTypeInfos[$typeID]) ? $arEntityTypeInfos[$typeID] : array(); $result = array('type' => 'multiField', 'caption' => isset($typeInfo['NAME']) ? $typeInfo['NAME'] : $typeID, 'data' => array('type' => $typeID, 'items' => array())); foreach ($multiFields as $multiField) { $value = isset($multiField['VALUE']) ? $multiField['VALUE'] : ''; $valueType = isset($multiField['VALUE_TYPE']) ? $multiField['VALUE_TYPE'] : ''; $entityType = $arEntityTypes[$typeID]; $valueTypeInfo = isset($entityType[$valueType]) ? $entityType[$valueType] : null; $params = array('VALUE' => $value, 'VALUE_TYPE_ID' => $valueType, 'VALUE_TYPE' => $valueTypeInfo); $result['data']['items'][] = CCrmViewHelper::PrepareMultiFieldValueItemData($typeID, $params, $sipConfig); } return $result; }
public static function RenderListMultiFields(&$arFields, $prefix = '', $arOptions = null) { $result = array(); $arEntityTypes = CCrmFieldMulti::GetEntityTypes(); $arInfos = CCrmFieldMulti::GetEntityTypeInfos(); foreach ($arInfos as $typeID => &$arInfo) { $result[$typeID] = self::RenderListMultiField($arFields, $typeID, $prefix, $arEntityTypes, $arOptions); } unset($arInfo); return $result; }