Exemple #1
0
 /**
  * Includes subtemplate.
  * @param  mixed      included file name or template
  * @param  array      parameters
  * @param  Nette\Templating\ITemplate  current template
  * @return Nette\Templating\Template
  */
 public static function includeTemplate($destination, array $params, Nette\Templating\ITemplate $template)
 {
     if ($destination instanceof Nette\Templating\ITemplate) {
         $tpl = $destination;
     } elseif ($destination == NULL) {
         // intentionally ==
         throw new Nette\InvalidArgumentException("Template file name was not specified.");
     } elseif ($template instanceof Nette\Templating\IFileTemplate) {
         if (substr($destination, 0, 1) !== '/' && substr($destination, 1, 1) !== ':') {
             $destination = dirname($template->getFile()) . '/' . $destination;
         }
         $tpl = clone $template;
         $tpl->setFile($destination);
     } else {
         throw new Nette\NotSupportedException('Macro {include "filename"} is supported only with Nette\\Templating\\IFileTemplate.');
     }
     $tpl->setParameters($params);
     // interface?
     return $tpl;
 }
Exemple #2
0
macroExpr(MacroNode$node,PhpWriter$writer){return$writer->write(($node->name==='?'?'':'echo ').'%modify(%node.args)');}static
function
includeTemplate($destination,array$params,Nette\Templating\ITemplate$template){if($destination
instanceof
Nette\Templating\ITemplate){$tpl=$destination;}elseif($destination==NULL){throw
new
Nette\InvalidArgumentException("Template file name was not specified.");}elseif($template
instanceof
Nette\Templating\IFileTemplate){if(substr($destination,0,1)!=='/'&&substr($destination,1,1)!==':'){$destination=dirname($template->getFile()).'/'.$destination;}$tpl=clone$template;$tpl->setFile($destination);}else{throw
new
Nette\NotSupportedException('Macro {include "filename"} is supported only with Nette\Templating\IFileTemplate.');}$tpl->setParameters($params);return$tpl;}static