-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
This was previously discussed here. The conclusion was that there currently is no way to check whether a partial is defined, so I'm making a feature request here.
This is mainly useful for inline partials, like the example from the docs.
If you define a partial layout like this:
<div class="nav">
{{> nav}}
</div>
<div class="content">
{{> content}}
</div>it basically has 2 "template parameters" that are passed to the partial using inline partials:
{{#> layout}}
{{#*inline "nav"}}
My Nav
{{/inline}}
{{#*inline "content"}}
My Content
{{/inline}}
{{/layout}}Now I want to make the nav parameter in my layout partial optional. I can use {{#> nav}}{{/nav}} to avoid an error if the partial is missing. But this will still leave the enclosing <div class="nav"></div> in the output. To avoid this, I need a way to check if the nav partial is defined, for example {{#if (partialDefined "nav")}}. Helpers also don't receive any information about existing partials, so implementing a custom helper for this isn't currently possible either.
In summary, I'd like to be able to do this:
{{#if (partialDefined "nav")}}
<div class="nav">
{{> nav}}
</div>
{{/if}}
<div class="content">
{{> content}}
</div>{{#> layout}}
{{#*inline "content"}}
My Content
{{/inline}}
{{/layout}}