如果/ Else在Modx中

时间:2015-09-25 07:25:25

标签: modx modx-evolution

我正试图在条件中将一个块包装在我的模板中:

<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*]出现时才需要显示该块。

我已经阅读了论坛和文档,但我似乎无法正确理解语法。

我错过了什么?

2 个答案:

答案 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模板块内的[+ +]。