Typo3 cObject的IF条件键入脚本

Typo3 cObject的IF条件键入脚本,typo3,typoscript,Typo3,Typoscript,我在里面有纸鹤和TMENU。对于TMENU.NO.after属性,我需要基于当前页面uid以友好方式分配cObject 代码: #Privatni podmeni lib.meni=humenu lib.meni.special=列表 lib.meni.special.value=5395539653975398 lib.meni.wrap=| lib.meni.1=TMENU 解放门1{ expAll=1 没有{ allWrap=| ATagParams.insertData=1 ATagPa

我在里面有纸鹤和TMENU。对于TMENU.NO.after属性,我需要基于当前页面uid以友好方式分配cObject

代码:

#Privatni podmeni
lib.meni=humenu
lib.meni.special=列表
lib.meni.special.value=5395539653975398
lib.meni.wrap=
    |
lib.meni.1=TMENU 解放门1{ expAll=1 没有{ allWrap=
  • |
  • ATagParams.insertData=1 ATagParams=class=“drop{field:uid}” 在.cObject
    我需要这个伪代码:

    IF field:uid = 5240
       after.cObject < temp.meni5
    IF field:uid = 5241
       after.cObject < temp.meni6
    IF field:uid = 5342
       after.cObject < temp.meni7
    
    IF字段:uid=5240
    在.cObject

    我如何才能做到这一点?

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

    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
    }
    
    lib.meni.1.NO.after.cObject=COA
    lib.meni.1.NO.after.cObject{
    10<温度5
    10.if.equals.field=uid
    10.if.value=5240
    20<温度6
    20.if.equals.field=uid
    20.if.value=5241
    30<温度7
    30.if.equals.field=uid
    30.if.value=5342
    }
    

    但这在temp.meni5、temp.meni6、temp.meni7中的对象支持stdWrap的情况下是可行的。查看详细信息。

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

    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
        }
    
      }
    }
    
    温度0=HMENU
    temp.0.special=列表
    温度0.special.value=5417、5418、5419、5420、5421
    温度0.wrap=
      |
    温度0.1=t菜单 温度0.1{ expAll=1 没有{ allWrap=
  • |
  • #ATagParams.insertData=1 #ATagParams=class=“drop” } } 温度6=Hmeniu 温度6<温度0 温度6.special.value=54315432543354345435 温度6.wrap=
      |
    温度7=Hmeniu 温度7<温度0 温度7.special.value=54565457545854595460 温度7.wrap=
      |
    温度8=Hmeniu 温度8<温度0 温度8.special.value=54665467547054715472 temp.8.wrap=
      |
    lib.meni=humenu lib.meni.special=列表 lib.meni.special.value=5395539653975398 lib.meni.wrap=
      |
    lib.meni.1=TMENU 解放门1{ expAll=1 没有{ allWrap=
  • |
  • ATagParams.insertData=1 ATagParams=class=“drop{field:uid}” #在.cObject

    这样,我就可以为lib的每个菜单项(页面)插入非常具体的子菜单。menu

    您的解决方案甚至比我的更好,因为您有一个关键字段,CASE在这里非常完美。
    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
        }
    
      }
    }