我正试图在条件中将一个块包装在我的模板中:
<div class="widget widget_categories trip_widget">
<div class="kd-widget-title"><h4>Book online</h4></div>
<div class="trip-book-button">
<a href="[(site_url)]book-online.html/#id=[*trip-slug*]">Book now online</a>
</div>
</div>
我只有在
[*trip-slug*]
出现时才需要显示该块。
我已经阅读了论坛和文档,但我似乎无法正确理解语法。
我错过了什么?
答案 0 :(得分:1)
在MODX革命中使用Output Filter(这是此页面标记的内容)或MODX Evolution中的PHx filter(这是占位符的语法暗示您正在使用的内容)。< / p>
MODX Evolution
[+trip-slug:ne=`
<div class="widget widget_categories trip_widget">
<div class="kd-widget-title"><h4>Book online</h4></div>
<div class="trip-book-button">
<a href="[(site_url)]book-online.html/#id=[*trip-slug*]">Book now online</a>
</div>
</div>
`+]
MODX革命
[[*trip-slug:notempty=`
<div class="widget widget_categories trip_widget">
<div class="kd-widget-title"><h4>Book online</h4></div>
<div class="trip-book-button">
<a href="[(site_url)]book-online.html/#id=[*trip-slug*]">Book now online</a>
</div>
</div>
`]]
答案 1 :(得分:1)
在Evolution中,您需要PHx插件(https://github.com/Temus/PHx)来处理资源或模板变量标签。使用该插件,您可以使用以下代码:
[*trip-slug:ne=`
<div class="widget widget_categories trip_widget">
<div class="kd-widget-title"><h4>Book online</h4></div>
<div class="trip-book-button">
<a href="[(site_url)]book-online.html/#id=[*trip-slug*]">Book now online</a>
</div>
</div>
`*]
Ditto中的占位符标签使用(有限的)PHx解析器进行解析,您可以在没有插件的情况下在Ditto模板中使用以下内容:
[+trip-slug:ne=`
<div class="widget widget_categories trip_widget">
<div class="kd-widget-title"><h4>Book online</h4></div>
<div class="trip-book-button">
<a href="[(site_url)]book-online.html/#id=[+trip-slug+]">Book now online</a>
</div>
</div>
`+]
在这两种情况下,您还可以使用Evolution核心 if Snippet。
[[if? &is=`[*trip-slug*]:not_empty` &then=`
<div class="widget widget_categories trip_widget">
<div class="kd-widget-title"><h4>Book online</h4></div>
<div class="trip-book-button">
<a href="[(site_url)]book-online.html/#id=[*trip-slug*]">Book now online</a>
</div>
</div>
`]]
将[* *]替换为Ditto模板块内的[+ +]。