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)