2
如何創建全局可用的函數?如何在全球範圍內創建Freemarker功能?
眼下,如下的應用程序的結構:
- 每個種要求,如(例如一本書,作者或出版商不同的模板),一個顯着的模板:
- 這些模板的每個房間都設有從宏觀常見元素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看起來如此mething像:
[#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等人,再加上它恰好導入/任何模板包括)。
我該如何解決這個問題,最好是沒有自己的命名空間?
哦,很酷,沒有意識到函數和宏是可以像那樣使用的對象。 – BenLanc