protected function writeTemplate(IObject $aObject, Attributes $aAttrs, ObjectContainer $aObjectContainer, TargetCodeOutputStream $aDev, CompilerManager $aCompilerManager, $sWidgetVarName) { // template if ($aAttrs->has('subtemplate')) { $sFunName = $aAttrs->string('subtemplate'); $aDev->write("\t{$sWidgetVarName}->setSubTemplateName('__subtemplate_{$sFunName}') ;"); } else { if ($aAttrs->has('template')) { $sTemplateName = $aAttrs->string('template'); $aDev->write("\t{$sWidgetVarName}->setTemplateName('{$sTemplateName}') ;"); } else { if ($aTemplate = $aObject->getChildNodeByTagName('template')) { $aAttributes = $aTemplate->headTag()->attributes(); if ($aAttributes->has('name')) { $sFunName = $aAttributes->string('name'); } else { $sFunName = md5(rand()); } $aAttributes->set('name', $sFunName); $aTemplate->headTag()->setAttributes($aAttributes); $aDev->write("\t{$sWidgetVarName}->setSubTemplateName('__subtemplate_{$sFunName}') ;"); } } } }