Настройка на навигация в Typoscript

Нов съм в typo3 и трябва да настроя навигация. Вече направих уроците, намерени на Timerate, и изградих демонстрационната навигация (седмица 2 в урока).

Сега трябва да настроя навигация, която трябва да изглежда така:

Link 1 | Link 2 | Link 3 | Link 4

задната структура е следната:

Link 1
Link 2
Link 3 (shortcut to sub link 1)
    Sublink 1
    Sublink 2
Link 4

Цялото меню работи добре, когато съм в раздел, обозначен с връзка 1, връзка 2 и връзка 4, но нищо не се показва, когато щракна върху връзка 3.

Sublinks трябва да бъдат показани във вторична навигация

Ето шрифта, който имам в моя root ts шаблон (използвам TemplaVoila):

lib.field_topmenu = HMENU
lib.field_topmenu {
    special = directory
    special.value = {$idMain}
    entryLevel = 2
    1 = TMENU
    1.NO = 1
    1.wrap = <div id="menu"><ul> | </ul></div>
    1.NO.wrapItemAndSub = <li>|</li>
    1.ACT < .1.NO
    1.ACT.ATagParams = class='active'
    2 < .1
}

Какъв би бил най-добрият начин да се постигне това?


person JF Dion    schedule 05.07.2011    source източник


Отговори (2)


радвам се, че си част от TYPO3.

Доколкото си спомням, няма ефект върху началното ниво на special = directory.

Това е работещо решение:

lib.field_topmenu = HMENU
lib.field_topmenu {
    special = directory
    special.value = 1
    1 = TMENU
    1.NO = 1
    1.wrap = <ul> | </ul>
    1.NO.wrapItemAndSub = <li>|</li>
    1.ACT < .NO
    1.ACT.ATagParams = class='active'
    2 < .1
}

Трябва да премахнете id=menu, тъй като той ще се повтаря нивата надолу, следователно ще направи вашия HTML невалиден

Ето решение, което обикновено използваме, то също така използва субтитри и т.н. и добавя специални класове към първия и последния елемент на вашия списък за навигация:

lib.navi.one = HMENU
lib.navi.one {
    1 = TMENU
    1 {

        noBlur = 1
        wrap = <ul>|</ul>
        NO = 1
        NO {
            wrapItemAndSub = <li class="first">|</li> |*| <li>|</li> |*| <li class="last">|</li>
            altText = subtitle // title
            title = subtitle // title
        }
        CUR < .NO
        CUR.wrapItemAndSub = <li class="active first">|</li> |*| <li class="active">|</li> |*| <li class="active last">|</li>
        ACT < .CUR
    }
    2 < .1
    3 < .2
    4 < .2
}

можете доста лесно да го адаптирате към началната точка на вашата директория (и да премахнете нива 3 и 4):

lib.field_topmenu < lib.navi.one
lib.field_topmenu {
    special = directory
    special.value = {$idMain}
    3 >
    4 >
}
person konsolenfreddy    schedule 05.07.2011

aTagParams не работи с преки пътища. трябва да поставите истинските страници в папката sys, отколкото ще работи.

person wmarx    schedule 08.07.2012