コード例 #1
0
ファイル: WidgetCompiler.php プロジェクト: JeCat/framework
 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}') ;");
             }
         }
     }
 }