2013-08-29 2 views
0

HMENU 및 TMENU가 내부에 있습니다. TMENU.NO.after 속성에 대해 현재 페이지 uid를 기준으로 dinamically cObject를 할당해야합니다.IF 조건 cObject 용 TypoScript

코드 :

#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 
     } 
    } 

나는이 의사 코드에 필요한 :

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

내가 어떻게 할 수 있습니까?

답변

1

당신은 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 
} 

을하지만이 temp.meni6, temp.meni7 지원 stdWrap, temp.meni5에 경우에 대비하여 객체를 작동합니다. 자세한 내용은 TSref을 확인하십시오.

1

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

귀하의 솔루션은 나보다 더 나은입니다 lib.menu의 각 메뉴 항목 (페이지)에 대한 매우 구체적인 하위 메뉴를 삽입 할 수 있어요 : 다음 예제 코드 필드와 CASE가 완벽합니다. –