function getKey(CExClassField $base = null) { $field = $base ? $base : $this->loadRefExClassField(); $class = $base ? $base->loadRefExClass() : $field->loadRefExClass(); $prefix = "CExObject"; if ($class->_id) { $prefix .= "_{$class->_id}"; } return array($prefix, ".{$field->name}.{$this->key}"); }
$ex_group_id = CValue::get("ex_group_id"); CExObject::$_locales_cache_enabled = false; $ex_field = new CExClassField(); $spec_type = "enum"; if ($ex_field->load($ex_field_id)) { $spec_type = $ex_field->getSpecObject()->getSpecType(); $ex_field->loadRefsNotes(); $ex_field->updateTranslation(); $ex_field->loadTriggeredData(); } else { $ex_field->ex_group_id = $ex_group_id; $ex_field->disabled = 0; $ex_field->readonly = 0; $ex_field->hidden = 0; } $ex_field->loadRefExClass(); $properties = $ex_field->loadRefProperties(); foreach ($properties as $_property) { $_property->loadRefPredicate()->loadView(); } $ex_field->loadRefPredicate()->loadView(); $predicates = $ex_field->loadRefPredicates(); foreach ($predicates as $_predicate) { $_predicate->loadView(); } if ($ex_class_id) { $ex_class = new CExClass(); $ex_class->load($ex_class_id); } else { $ex_class = $ex_field->_ref_ex_class; }