如何将新变量传递给template.xml文件

时间:2013-06-15 20:04:13

标签: xenforo

我已经为xenforo安装了自己的自定义主题。在我的template.xml文件中,我可以在head部分中看到一些变量的用法,例如{$ requestPaths.fullBasePath}。如果我想在标题部分使用这样的另一个变量,我应该在哪里定义这个变量,从哪里我们可以为变量赋值?

1 个答案:

答案 0 :(得分:0)

您可以在控制器中执行此操作,类似于:

$viewParams = array(
    'variableName' => $variableValue,
    'variableName2' => $someOtherValue,
    'someArray' => array(
        'foo' => 'bar'
    )
);
return $this->responseView('MyAddOn_ViewPublic_SomeViewClass', 'some_template', $viewParams);

然后在模板中,您可以使用卷曲语法的那些变量:

{$variableName} // output $variableValue with html escaped
{xen:raw $variableName2} // output $someOtherValue
{$someArray.foo} // output "bar"

还有其他方法可以将变量传递给模板:使用template_create事件侦听器或< xen:container />但那很复杂。有关附加组件开发的更多信息,请阅读here