Smarty:一个控制器中有两个模板

时间:2014-05-22 08:56:43

标签: smarty

如何在Smarty中使用控制器中的两个不同模板? 我做了一个" if"为了这个目标(if (condition1){use template1}else{use template2}),但我不知道如何检查条件返回" true"。

在我使用此组合的模板中:

{init_module module="catalog" action="sizesAction"} 

(在sizesAction方法中有为template1.tpl分配视图) 那么如何使用template1.tpl和template2.tpl来定义它的位置。 我试着尽可能详细地描述这个问题。它是如何清晰的。

1 个答案:

答案 0 :(得分:0)

似乎

{init_module module="catalog" action="sizesAction"} 

是您的自定义Smarty插件。

所以在index.tpl你简单的地方

{init_module module="catalog" action="sizesAction"} 

在init_module函数中,您可以执行以下操作:

  $ntemplate = $template->createTemplate('your_template.tpl');

  $ntemplate->assign ('var' , 'foo');

  return $ntemplate->fetch();

您可以简单地扩展它以使用它,例如:

  $x = 5; 

  if ($x > 2) {
      $tpl = 'template1.tpl';
  } 
  else  {
      $tpl = 'template2.tpl';
 }


  $ntemplate = $template->createTemplate($tpl);

  $ntemplate->assign ('var' , 'foo');

  return $ntemplate->fetch();

如果不是您要求的,您需要明确问题并提供代码示例。