zhouyanming created FREEMARKER-83:
-------------------------------------

             Summary: Introduce new special variable "outer_template_name" 
beside "main_template_name"
                 Key: FREEMARKER-83
                 URL: https://issues.apache.org/jira/browse/FREEMARKER-83
             Project: Apache Freemarker
          Issue Type: Improvement
          Components: engine
    Affects Versions: 2.3.27-incubating
            Reporter: zhouyanming


for example, a.ftl include b.ftl, b.ftl include c.ftl
|| ||current_template_name||outer_template_name||main_template_name||
|a.ftl|a.ftl|null|a.ftl|
|b.ftl|b.ftl|a.ftl|a.ftl|
|c.ftl|c.ftl|b.ftl|a.ftl|
I need such feature to resolve relative path like <#include> directive.
BTW:
.current_template_name is lazy evaluation, is this designed or bug
{code:title=b.ftl}
<#function templateName value>
<#return value/>
</#function>
{code}
{code:title=a.ftl}
<#include "b.ftl">
${templateName(.current_template_name)}
{code}
it will print "b.ftl" not "a.ftl", workaround:
{code:title=a.ftl}
<#include "b.ftl">
<#assign current_template_name=.current_template_name>
${templateName(current_template_name)}
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to