/** * recursively generates code for slots */ private function generateFillSlots(PHPTAL_Php_CodeWriter $codewriter, PHPTAL_Dom_Node $phpelement) { if (false == $phpelement instanceof PHPTAL_Dom_Element) { return; } // if the tag contains one of the allowed attribute, we generate it foreach (self::$ALLOWED_ATTRIBUTES as $qname => $uri) { if ($phpelement->hasAttributeNS($uri, $qname)) { $phpelement->generateCode($codewriter); return; } } foreach ($phpelement->childNodes as $child) { $this->generateFillSlots($codewriter, $child); } }