0

是否存在从增量文本模板 (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不会被调用。这是通过调试输出检查的。有什么建议吗?

4

1 回答 1

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()通过像在示例中所做的那样命名它来使用子例程。

于 2013-10-14T09:24:24.540 回答