protected function _getComponentEndTagCode(__ComponentSpec &$component_spec) { $return_value = "<?php\n"; $return_value .= '$component_render_' . $this->_view_code . '->markComponentEndTag($component_specs_' . $this->_view_code . '["' . $component_spec->getId() . '"]);' . "\n"; $return_value .= "?>"; return $return_value; }
/** * Resolve an unique identifier for a component (using the component spec identifier and the component index (if applicable) as seed) * * @param __ComponentSpec $component_spec * @param $component_index * @return string */ protected function _resolveComponentId(__ComponentSpec $component_spec, $component_index = null) { $return_value = 'c' . $component_spec->getId(); if ($component_index != null) { $return_value .= '_' . $component_index; } return $return_value; }
protected function _registerComponentSpec(__ComponentSpec &$component_spec) { if ($this->_properties_stack->count() == 0 && $this->_component_specs_stack->count() > 0) { $current_component_spec = $this->_component_specs_stack->peek(); $current_component_class = $current_component_spec->getClass(); if (!is_subclass_of($current_component_class, '__IContainer')) { throw __ExceptionFactory::getInstance()->createException('ERR_UI_COMPONENT_IS_NOT_CONTAINER', array($current_component_spec->getTag(), $component_spec->getTag())); } } $this->_component_specs[$component_spec->getId()] =& $component_spec; }