グローバルに使用できる関数を作成するにはどうすればよいですか?
現在、アプリケーションは次のように構成されています。
- リクエストの種類ごとに個別のテンプレート (例: 書籍、著者、または出版社の個別のテンプレート)。
- これらの各テンプレートは、page.ftl のマクロからの共通要素で装飾されています。
[#ftl]
[#macro decorate]
<html>
<head>
<!-- some stuff here -->
</head>
<body>
<header><!-- more stuff here --></header>
<div id="main-content">[#nested /]</div>
<footer><!-- more stuff here --></footer>
</body>
</html>
[/#macro]
したがって、book.ftl は次のようになります。
[#ftl]
[#include page.ftl p]
[@p.decorate]
<h1>Book: The Bible</h1>
<dl>
<dt>Author:</dt>
<dd>God</dd>
</dl>
[#-- HERE'S THE IMPORTANT BIT --]
[@myFunctionHere('The Bible') /]
[#-- I ALSO NEED TO BE ABLE TO CALL myFunction IN INCLUDED PAGES TOO --]
[#import "_partial.ftl" /]
[/@p.decorate]
一度定義してインクルードすると、どこでも利用できるグローバル関数を作成したいと考えています (book.ftl など、およびインポート/インクルードするテンプレート)。
できれば独自の名前空間なしで、どうすればよいでしょうか?