If/Else 在 Modx 中
If/Else in Modx
我试图在我的模板中包含一个条件块:
<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>
I need to show that block only if [*trip-slug*]
is present.
我已经通读了论坛和文档,但我似乎无法理解正确的语法。
我错过了什么?
在 MODX Evolution 中使用 Output Filter in MODX Revolution (which is what this page is tagged with) or a PHx filter(占位符的语法表明您正在使用)。
MODX进化
[+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>
`]]
在 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 代码段。
[[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 模板块中的 [* *] 替换为 [++]。
我试图在我的模板中包含一个条件块:
<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>
I need to show that block only if
[*trip-slug*]
is present.
我已经通读了论坛和文档,但我似乎无法理解正确的语法。
我错过了什么?
在 MODX Evolution 中使用 Output Filter in MODX Revolution (which is what this page is tagged with) or a PHx filter(占位符的语法表明您正在使用)。
MODX进化
[+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>
`]]
在 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 代码段。
[[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 模板块中的 [* *] 替换为 [++]。