2014-01-20 3 views
1

저는 (프론트 엔드 프레임 워크를 사용하기 때문에 제 경우에는 12 개) 숫자를 페이지의 typoscript 렌더링 메뉴에 나타날 페이지 수로 나눠서 결과를 출력하려고합니다 html 메뉴 항목의 클래스 이름의 일부로.Typoscript를 이용한 수학 연산

현재 메뉴에서 입력 항목 수를 {register:count_menuItems}으로 출력 할 수 있지만이 숫자를 나누고 지수를 출력하는 방법을 알 수는 없습니다. 다음은

내 코드입니다 :

lib.navigation.secondary = HMENU 
lib.navigation.secondary { 
    entryLevel = 1 

    stdWrap.dataWrap = <div class="row large-10 small-centered large-centered columns">|</div> 
    1 = TMENU 
    1 { 
     NO { 
      allWrap = <div class="large-{register:count_menuItems} small-12 columns first">|</div> |*| <div class="large-{register:count_menuItems} small-12 columns">|</div> |*| <div class="large-{register:count_menuItems} small-12 columns last">|</div> 
      allWrap.insertData = 1 

      stdWrap.cObject = COA 
      stdWrap.cObject { 

      # getting the navigation title with fallback to the title 
       10 = TEXT 
       10.field = nav_title // title 
       10.wrap = <h4>|</h4> 

      # getting the subtitle of the page 
       20 = TEXT 
       20.field = subtitle 
       20.wrap = <p>|</p> 

      } 
     } 
    } 
} 

답변

0

은이 때문에 LOAD_REGISTER를 사용할 필요가 오른쪽 궤도에 있었다

NO { 
    before.cObject = LOAD_REGISTER 
    before.cObject { 
     menuItems.cObject = TEXT 
     menuItems.cObject { 
      current = 1 
      setCurrent.data = register:count_menuItems 
      setCurrent.wrap = 12/| 
      prioriCalc = 1  
     } 
    } 

    allWrap = <div class="large-{register:count_menuItems} small-12 columns first">|</div> |*| <div class="large-{register:count_menuItems} small-12 columns">|</div> |*| <div class="large-{register:count_menuItems} small-12 columns last">|</div> 
    allWrap.insertData = 1 

    ... 
+0

로 작성해야했습니다 것처럼이 나를 위해 노력에도 불구하고 보이는 다음 , 나는 더 간결한 구현을보고 싶다! –

0

나는 그것을 테스트 할 수 있지만, 난 당신이이 방법으로 그것을 해결할 수 있다고 생각 : 계산 결과를 포함하는 LOAD_REGISTER을 만들

첫째 :

page.5 = LOAD_REGISTER 
# the default value 
page.5.divClass = 12 
page.5.divClass.cObject = TEXT 
page.5.divClass.cObject { 
    value = 12 
    stdWrap.dataWrap = |/{register:count_menuItems} 
    prioriCalc = 1 
} 

그런 다음 내비게이션에서 사용 :

lib.navigation.secondary = HMENU 
lib.navigation.secondary { 
    entryLevel = 1 

    stdWrap.dataWrap = <div class="row large-10 small-centered large-centered columns">|</div> 
    1 = TMENU 
    1 { 
     NO { 
      allWrap = <div class="large-{register:divClass} small-12 columns first">|</div> |*| <div class="large-{register:divClass} small-12 columns">|</div> |*| <div class="large-{register:divClass} small-12 columns last">|</div> 
      allWrap.insertData = 1 

[...] 

까다로운 부분은 메뉴의 렌더링 순서 일 수 있습니다. LOAD_REGISTER divClass를 만들 때 count_menuItems 레지스터를 이미 사용할 수 있는지 확실하지 않습니다.

+0

나를 위해 일하는 결국,하지만이 cObject –