首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cObject的IF条件TypoScript

cObject的IF条件TypoScript
EN

Stack Overflow用户
提问于 2013-08-29 20:10:46
回答 2查看 2.4K关注 0票数 0

我有HMENU和TMENU在里面对于TMENU.NO.after属性,我需要根据当前页面的uid动态分配cObject?

代码:

代码语言:javascript
复制
#Privatni podmeni
lib.meni= HMENU
lib.meni.special = list
lib.meni.special.value = 5395, 5396, 5397, 5398
lib.meni.wrap = <ul id="menu" style="display:none;">|</ul>
lib.meni.1 = TMENU

    lib.meni.1{
      expAll = 1
      NO {

       allWrap = <li>|</li>
       ATagParams.insertData = 1
       ATagParams = class="drop _{field:uid}"
       after.cObject < temp.meni5
      }
    }

我需要使用伪代码:

代码语言:javascript
复制
IF field:uid = 5240
   after.cObject < temp.meni5
IF field:uid = 5241
   after.cObject < temp.meni6
IF field:uid = 5342
   after.cObject < temp.meni7

我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2013-08-30 04:02:51

您可以使用COA cObject并进行部分设置:

代码语言:javascript
复制
lib.meni.1.NO.after.cObject = COA
lib.meni.1.NO.after.cObject {
  10 < temp.meni5
  10.if.equals.field = uid
  10.if.value = 5240

  20 < temp.meni6
  20.if.equals.field = uid
  20.if.value = 5241

  30 < temp.meni7
  30.if.equals.field = uid
  30.if.value = 5342
}

但是如果你在temp.meni5,temp.meni6,temp.meni7中的对象支持stdWrap,这将会起作用。有关详细信息,请查看TSref

票数 1
EN

Stack Overflow用户

发布于 2013-08-30 14:31:08

我可以通过在TS中使用CASE对象来完成这项工作。以下是示例代码:

代码语言:javascript
复制
temp.meni0= HMENU
temp.meni0.special = list
temp.meni0.special.value = 5417, 5418, 5419, 5420, 5421
temp.meni0.wrap = <div class="dropdown_5columns"><div class="col_1"><ul>|</ul></div></div>
temp.meni0.1 = TMENU

temp.meni0.1{
  expAll = 1
  NO {
   allWrap = <li>|</li>
   #ATagParams.insertData = 1
   #ATagParams = class="drop"

  }
}


temp.meni6= HMENU
temp.meni6 < temp.meni0
temp.meni6.special.value = 5431, 5432, 5433, 5434, 5435
temp.meni6.wrap = <div class="dropdown_5columns m-144"><div class="col_1"><ul>|</ul></div></div>


temp.meni7= HMENU
temp.meni7 < temp.meni0
temp.meni7.special.value = 5456, 5457, 5458, 5459, 5460
temp.meni7.wrap = <div class="dropdown_5columns m-288"><div class="col_1"><ul>|</ul></div></div>



temp.meni8= HMENU
temp.meni8 < temp.meni0
temp.meni8.special.value = 5466, 5467, 5470, 5471, 5472
temp.meni8.wrap = <div class="dropdown_5columns m-432"><div class="col_1"><ul>|</ul></div></div>

lib.meni= HMENU
lib.meni.special = list
lib.meni.special.value = 5395, 5396, 5397, 5398
lib.meni.wrap = <ul id="menu" style="display:none;">|</ul>
lib.meni.1 = TMENU
lib.meni.1{
  expAll = 1
  NO {

   allWrap = <li>|</li>
   ATagParams.insertData = 1
   ATagParams = class="drop _{field:uid}"

    #after.cObject < temp.meni5
    after.cObject = CASE
    after.cObject {
      key.field = uid
      default = TEXT
      default.value = <span>NIJE OK!</span>

      5395 < temp.meni0
      5396 < temp.meni6
      5397 < temp.meni7
      5398 < temp.meni8
    }

  }
}

这样,我就能够为lib.menu的每个菜单项(页面)插入非常特定的子菜单

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18510637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档