通过文本模板调用Perl方法

时间:2013-10-11 17:42:15

标签: html5 perl

是否存在从增量文本模板(HTML5)调用Perl子的方法? 访问数据上下文和一堆变量工作正常,但需要子调用。

<p class="submit">
                [% IF page == "building_add " %]
                <input type="submit" value="[% l.submit %]" id="submit" />
                [% ELSIF page == "building_show" && ( (!auth_done) || (auth_done && check_access_rolebuilding(building_id,auth_user_id))) %]
                <input type="submit" value="[% l.change %]" id="submit" />
                [% END %]
</p>

check_access_rolebuilding将不会被调用。这是通过调试输出检查的。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

只需将子例程的引用添加到传递给process()方法的变量的哈希值中。

# Your process() call might not look anything like this.
$tt->process(
  $template_name,
  {
    ... # existing variables
    check_access_rolebuilding => \&check_access_rolebuilding,
  },
) or die $tt->error;

然后在模板中,您可以像在示例中一样命名它来使用check_access_rolebuilding()子例程。