class = __CLASS__; $def->method = "loadWidget"; $def->isNestingBlock = true; $def->requiredParameters = array( 'type' ); $def->optionalParameters = array('p1', 'p2', 'p3', 'p4', 'p5'); return $def; break; case 'render': $def = new ezcTemplateCustomBlockDefinition(); $def->class = __CLASS__; $def->method = "renderWidget"; $def->isNestingBlock = false; $def->requiredParameters = array( 'widget' ); return $def; break; } return null; } public static function loadWidget( $parameters, $ignore ) { $reflection = new ReflectionClass( $parameters['type'] ); unset( $parameters['type'] ); $params =array_merge( array( null ), array_values( $parameters ) ); array_push( $params, null ); $w = call_user_func_array(array($reflection, 'newInstance'), $params ); return $w->render(); } public static function renderWidget( $parameters ) { return $parameters['widget']->render(); } } ?>