0

我需要在 VBulletin 中做这样的事情。应该有几个模板(我通过 admincp 添加它们),应该“包含”在名为“footer”的全局模板中。实际上,根据某些条件,应该只包括其中一个。所以在这个页脚我有

<vb:if condition="$my_variable == 1">
    <p>CASE_1</p>
<vb:elseif condition="$my_variable == 2" />
    <p>CASE_2</p>
<vb:else />
    <p>CASE_3</p>
</vb:if>

因此,在这种情况下,我需要使用代码更改 CASE-s 以包含其他模板(即“footer1”、“footer2”、“footer3”)。

有没有办法做到这一点?

4

1 回答 1

0

好的,我通过创建一个模板,将变量传递给它,渲染它并在页脚模板中预先注册,就像这样(class_bootstrap.php):

$templater = vB_Template::create('footer_'.$extension);
$templater->register('admincpdir', $admincpdir);
...

$includable_footer = $templater->render();
vB_Template::preRegister('footer',array('included_footer ' => $includable_footer));

$templater = vB_Template::create('footer');
$templater->register('included_footer', $includable_footer);
$footer = $templater->render();

在页脚模板中插入了这一行:

{vb:raw included_footer}
于 2012-07-03T12:42:11.017 回答