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 に答える