扩展erlydtl

时间:2013-10-20 04:57:49

标签: erlang template-engine chicagoboss

如何扩展" erlydtl"?

我非常喜欢django模板,以及模板语言的扩展方式。例如,我喜欢扩展名,例如" sekizai"。

可以为erlydtl提供自定义标记模块。但是如何添加对更复杂标签的支持,例如sekizai提供的?

在django中,使用sekizai我可以做以下(取自sekizai文档)。

{% render_block "css" %}

并添加以下内容以添加到上面的块

{% addtoblock "css" %}
<link href="/media/css/stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
{% endaddtoblock %}

这将在调用{%render_block%}的地方添加内容。

1 个答案:

答案 0 :(得分:0)

您需要编写自己的模块并定义被调用的函数,并为模板标记提供数据。

示例:

档案 perc_filter.erl

-module(perc_filter).
-export([percentage/2]).

percentage(Input, Whole) when is_integer(Input), is_integer(Whole) ->
    [Result] = io_lib:format("~.2f", [Input / Whole * 100]),
     Result.

在模板中:

{{ x|percentage:1000 }}