freemarker-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Dekany (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FREEMARKER-84) Improve include directive to detect whether template exists
Date Wed, 28 Feb 2018 20:12:00 GMT

    [ https://issues.apache.org/jira/browse/FREEMARKER-84?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16380962#comment-16380962
] 

Daniel Dekany commented on FREEMARKER-84:
-----------------------------------------

{{get_optional_template}} is now committed into the {{2.3-gae}} and {{2.3}} branches:
https://github.com/apache/incubator-freemarker/commit/51c2476621809d8f4183f23e894be0106cabe810

> 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: Yanming Zhou
>            Priority: Major
>
> 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
(v7.6.3#76005)

Mime
View raw message