zhouyanming created FREEMARKER-84:
-------------------------------------

             Summary: Improve include directive to detect whether template 
exists
                 Key: FREEMARKER-84
                 URL: https://issues.apache.org/jira/browse/FREEMARKER-84
             Project: Apache Freemarker
          Issue Type: Improvement
          Components: engine
    Affects Versions: 2.3.27-incubating
            Reporter: zhouyanming


I requested feature `ignore_missing=true` of <#include> and freemarker have 
implemented it, but it cannot handle fallback like
{code}
<#assign path="relative.ftl">
<#if isTemplatePresent(path)>
<#include path>
<#else>
template "${path}" is not exists
</#if>
{code}


Proposal 1:
Introduce a new special variable like "template_included" similar to "$?" of 
shell exit code
{code}
<#include path ignore_missing=true>
<#if !.template_included>
template "${path}" is not exists
</#if>
{code}

Proposal 2:
Add an argument like "template_included" for include directive
{code}
<#include path ignore_missing=true template_included="pathExists">
<#if !pathExists>
template "${path}" is not exists
</#if>
{code}

Proposal 3:
Introduce a new special directive such as <#missing> similar to html <noscript> 
tag
{code}
<#include path>
<#missing>
template "${path}" is not exists
</#missing>
</#include>
{code}




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

Reply via email to