Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Создать ещё одно меню, как? (http://forum.typo3.ru/showthread.php?t=7208)

djolejek 24.11.2008 23:34

Создать ещё одно меню, как?
 
По мануалу создал меню, через TV сделал шаблон и TS сделал вот это:

# Menu 1 cObject
lib.menu_1 = HMENU
# First level menu-object, textual
lib.menu_1.1 = TMENU
lib.menu_1.1 {
# Normal state properties
NO.allWrap = <div class="menu1-level1-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level1-act"> | </div>
}
# Second level menu-object, textual
lib.menu_1.2 = TMENU
lib.menu_1.2 {
# Normal state properties
NO.allWrap = <div class="menu1-level2-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level2-act"> | </div>
}


меню работает отлично, но мне нужно что бы я мог создать ещё одно меню для вывода других разделов:

есть меню 1
Раздел 1
Раздел 2
подраздел 1
подраздел 2
Раздел 2

я хочу создать ещё одно меню
Раздел 1
Раздел 2
подраздел 1
подраздел 2


и сделать его ниже 1-го меню... как быть подскажите? Может нужно в 1-ом меню сказать с какой по какой странице отображаться и для второго меню тоже. ? Пробывал сделать вот так,
# Menu 1 cObject
lib.menu_2 = HMENU
# First level menu-object, textual
lib.menu_2.1 = TMENU
lib.menu_2.1 {

# Normal state properties
NO.allWrap = <div class="menu1-level1-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level1-act"> | </div>
}
# Second level menu-object, textual
lib.menu_2.2 = TMENU
lib.menu_2.2 {
# Normal state properties
NO.allWrap = <div class="menu1-level2-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level2-act"> | </div>
}


нечего не получилось.

djolejek 25.11.2008 20:09

Не много поразберался в коде. На вскидку пришла идея с помощью maxItems и begin решить свою проблему с 2-мя меню в разных колонках, добавить lib.menu_1 и lib.menu_2. и в lib.menu_1 использловать maxItems до того пункта которого мне нужно , а в lib.menu_2 begin c какого пункта начинать , правельный ли это подход ? Но почему то он не очень работает , у меня во втором меню не отображаются под меню , незнаю пока что почему.


# Menu 1 cObject
lib.menu_1 = HMENU
lib.menu_1.maxItems = 4
# First level menu-object, textual
lib.menu_1.1 = TMENU
lib.menu_1.1 {
# Normal state properties
NO.allWrap = <div class="menu1-level1-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level1-act"> | </div>
}
# Second level menu-object, textual
lib.menu_1.2 = TMENU
lib.menu_1.2 {
# Normal state properties
NO.allWrap = <div class="menu1-level2-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level2-act"> | </div>
}


# Menu 2 cObject
lib.menu_2 = HMENU
lib.menu_2.begin = 4

# First level menu-object, textual
lib.menu_2.1 = TMENU
lib.menu_2.1 {
# Normal state properties
NO.allWrap = <div class="menu1-level1-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level1-act"> | </div>
}
# Second level menu-object, textual
lib.menu_2.2 = TMENU
lib.menu_2.2 {
# Normal state properties
NO.allWrap = <div class="menu1-level2-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1
# Enable active state and set properties:
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level2-act"> | </div>
}

page = PAGE
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page



Может кто нибудь посоветует как ещё можно сделать ? или подкаректировать этот (не очень хороший вариант)?

djolejek 25.11.2008 20:28

Почему когда используешь begin не отображаются подстраницы главной странице к которой назначен begin ?

-=UncleByte=- 25.11.2008 21:31

Наверное все-таки проще будет сделать пару страниц разграничителей и использовать special.directory - оно будет срабатывать вне зависимости от id страницы, с которой должен начинаться вывод меню.

djolejek 27.11.2008 03:03

Идея хорошая но тогда мне меню мне все страницы придётся разделить на 2 части, одни названия в одном меню другие в другом , для это мне нужно создать ещё 2 страницы и как то их назвать, но если я это сделаю тогда стоит вопрос с rootline навигацией, она будет отображать эту дорожку не нужных мне страниц., понимаете о чём я?

Может есть ещё какой нибудь способ?

-=UncleByte=- 27.11.2008 07:36

Не понимаю :)
Просто потому что страницы-распорки не отображаются если только явным образом не указать что надо их отображать, да и при использовании special.directory назначенный "корень" не отображается тоже.
Что нужно от rootline вообще непонятно.

djolejek 03.12.2008 17:29

Спасибо за помощь, всё получилось. Именно это мне и нужно было:

Сделал следующим образом:

Это первое меню которое ссылается на корень

# Menu 1 cObject
lib.menu_1 = HMENU
lib.menu_1.special = directory

lib.menu_1.special.value = 1


lib.menu_1.1 = TMENU
lib.menu_1.1 {
NO.allWrap = <div class="menu1-level1-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1

ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level1-act"> | </div>
}

lib.menu_1.2 = TMENU
lib.menu_1.2 {

NO.allWrap = <div class="menu1-level2-no"> &nbsp;»&nbsp; | </div>
NO.stdWrap.htmlSpecialChars = 1

ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu1-level2-act"> &nbsp;»&nbsp; | </div>
}



А это уже второе меню которое ссылается на страницу разделитель:


# Menu 2 cObject
lib.menu_2 = HMENU
lib.menu_2.special = directory

lib.menu_2.special.value = 30


lib.menu_2.1 = TMENU
lib.menu_2.1 {
NO.allWrap = <div class="menu2-level1-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1

ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu2-level1-act"> | </div>
}

lib.menu_2.2 = TMENU
lib.menu_2.2 {

NO.allWrap = <div class="menu2-level2-no"> | </div>
NO.stdWrap.htmlSpecialChars = 1

ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <div class="menu2-level2-act"> | </div>
}

в итоге 2 меню, хоть сколько можно понаделать их, всё оказалось очень просто и доступно, спасибо!.


Часовой пояс GMT +4, время: 02:07.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot