Kentico 10转型参考

时间:2017-11-09 15:37:00

标签: transformation kentico

如果数据不为空,我试图动态显示数据,如果没有该项目的数据,则将标题设置为空。

以下是我的转换代码。我试图隐藏任何没有数据的h5标题。

例如,如果我的CurrentDocument.EVAl(" Client")变回空,我想隐藏整个班级" client-heading"。我认为它与某些事情有关 !IfEmpty。

<div class="left-data small-6 medium-3 large-3 columns">
    <div class="location-heading">
      <h5 class="data-heading">Location:</h5>
      <h5>{% CurrentDocument.GetValue("City") #%}, {% CurrentDocument.GetValue("State") #%}</h5>
    </div>
    <div class="client-heading">
      <h5 class="data-heading">Client:</h5>
      <h5>{% CurrentDocument.EVAL("Client") #%}</h5>
    </div>
    <div class="year-heading">
      <h5 class="data-heading">Year Completed:</h5>
      <h5>{% CurrentDocument.GetValue("yearCompleted") #%}</h5>
    </div>

2 个答案:

答案 0 :(得分:2)

它看起来像这样:

{% if(Client != "") { %}  
<div class="client-heading">
    <h5 class="data-heading">Client:</h5>
    <h5>{% Client %}</h5>
</div>
{% } %}

也知道你的转换是结合ASCX和宏转换方法。可能要确保你清理它。

答案 1 :(得分:0)

我要问的第一个快速问题是你引用的是“CurrentDocument”,它不是转换后的对象,它是实际的当前文档。因此,如果您想获取转换对象的City值,则应使用{% City %}而不是{% CurrentDocument.GetValue("City") %}

至于测试某些东西是空还是空,如果它是一个字符串,只需使用

{% string.IsNullOrWhiteSpace(TheValue) ? "It's null" : "It's not null" %}

{% if(string.IsNullOrWhiteSpace(TheValue)) { %}
  It's null
{% } %}
{% if(!string.IsNullOrWhiteSpace(TheValue)) { %}
  It's not null
{% } %}

或具体到您的转型:

<div class="left-data small-6 medium-3 large-3 columns">
{% if(!string.isnullorwhitespace(CurrentDocument.GetValue("City")) { %}
    <div class="location-heading">
      <h5 class="data-heading">Location:</h5>
      <h5>{% CurrentDocument.GetValue("City") #%}
{% !string.isnullorwhitespace(CurrentDocument.GetValue("State")) ? ","+CurrentDocument.GetValue("State") : "" #%}</h5>
    </div>
{% } %}
{% if(!string.isnullorwhitespace(CurrentDocument.GetValue("Client")) { %}
    <div class="client-heading">
      <h5 class="data-heading">Client:</h5>
      <h5>{% CurrentDocument.GetValue("Client") #%}</h5>
    </div>
{% } %}
{% if(!string.isnullorwhitespace(CurrentDocument.GetValue("yearCompleted")) { %}
    <div class="year-heading">
      <h5 class="data-heading">Year Completed:</h5>
      <h5>{% CurrentDocument.GetValue("yearCompleted") #%}</h5>
    </div>
{% } %}

请记住,如果div上的值为null或空格,则只需添加一个隐藏的CSS,因此它会呈现HTML,但用户却看不到它。