2013-07-29 2 views
0

TYPO3에 모든 서브 페이지와 상위 페이지를 표시하는 메뉴를 만들려고합니다. 내 문제는 동적으로 entryLevel을 할당 할 방법이 없다는 것입니다.TYPO3 메뉴 : "entryLevel"동적 설정 방법?

나는 TYPO3 6.1과 협력 중임
현재이 메뉴에 대한 나의 typoscript입니다.

lib.mainnavi = HMENU 
lib.mainnavi { 
    entryLevel = 1 
    1 = TMENU 
    1.wrap = <ul> | </ul> 
    1 { 
     noBlur = 1 
     NO { 
      subst_elementUid = 1 
      allWrap = <li id="link{elementUid}" class="first">| |*| <li id="link{elementUid}">| |*| <li id="link{elementUid}" class="last">| 
      wrapItemAndSub = |</li> 
     } 
     ACT = 1 
     ACT { 
      subst_elementUid = 1 
      allWrap = <li id="link{elementUid}" class="first current first_current">| |*| <li id="link{elementUid}" class="current">| |*| <li id="link{elementUid}" class="last current last_current">|   
      wrapItemAndSub = |</li> 
     } 
    } 
} 

다음은 내가 원하는 것을 설명하기위한 그림입니다.
"1"로 갈 때 "FAQ", "GTC (EU)"및 "GTC (USA)"를보고 싶습니다.
"FAQ"로 가면 A-J를보고 싶고 "1"을 "뒤로"보고 싶습니다.
내가 "A"에 가고, 나는 내가 두번째 버텍스 메뉴와 special = browse에 "뒤로"메뉴를 만들 수있다 "뒤로"
TYPO3 pages

으로 "자주 묻는 질문"을보고 싶어요. 하지만 entryLevel을 동적으로 설정하는 방법을 찾을 수 없습니다.

답변

6

엔트리 레벨은 양의 값과 음의 값을 얻을 수 있습니다.

양수 값은 루트 페이지에서부터 계산되는 절대 레벨 위치를 표시합니다.

Root => 0 
    - Page => 1 
    - Page => 2 
     - Current Page => 3 

음의 값은 당신의 캐시 테이블을 부풀게 것이다, 상대 루트

Root => -4 
    - Page => -3 
    -Page => -2 
     - Current Page => -1 

당신은 모든 수준에 대한 조건을 사용하지 않아도이 방법으로 다시 현재 페이지에서 계산됩니다 .

lib.mainnavi = HMENU 
lib.mainnavi { 
    special = directory 
    special.value.field = uid 
    ... 
} 

이 현재의 PID, 일명 서브 페이지로 현재 페이지의 UID를 가진 페이지의 메뉴를 만들 것입니다 :

Root => 0 
    - Page => 1 
    - Current Page => 2 

Root => -3 
    - Page => -2 
    - Current Page => -1 
+0

, 진정한 사실,하지만 어떻게 것입니다 서로 다른 트리 수준에 대한 조건없이이 작품? 'A, B, C ... '페이지에있는 동안 값은'-2'이어야하고'FAQ' ('1' 아래)가 활성화되면'-1'과'1'이 활성화 될 때 '1'이어야합니다. 당신이 사용할 typoscript 코드를 게시 할 수 있습니까? – Michael

+0

그게 어떻게 작동하는지는 아닙니다. 이미 언급했듯이, -1은 절대가 아닌 상대적입니다. 따라서 항상 현재 페이지를 가리 킵니다. 그래서 다른 부정적인 값을, 현재 페이지의 부모 페이지를 가리키는 -2로, - 그랜드 부모를 가리키는 -3 등등. 이 방법을 사용하면 현재 "음부 나무"전체가 현재 이동중인 페이지에만 따라 계속 이동합니다. 이렇게하면 조건을 완전히 없앨 수 있습니다. – Joey

+0

이 예에서는 다음과 같은 의미로 항상 -1이어야합니다. 현재 페이지의 서브 페이지 메뉴 만 표시합니다. – Joey

1

entryLevel 설정은 TS 코드 아래의 조건으로 조정할 수 있습니다. treeLevel 상태의 경우 documentation을 살펴보십시오.

이처럼 사용

[treeLevel = 2] 
    lib.mainnavi.entryLevel = 2 
[end] 
0

모든 엔트리 레벨을 사용하지 않는 사람 같아 솔루션은있다 페이지.

0

이 나를 위해 속임수를 썼는지 :

lib.mainnavi = HMENU 
lib.mainnavi { 
    entryLevel = 1 
    special = directory 
    special.value.data = leveluid:-1 

    # your code here ... 
}