Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Разметка каскадного вложенного меню в TemplaVoila (http://forum.typo3.ru/showthread.php?t=6576)

maaboo 26.07.2008 12:46

Разметка каскадного вложенного меню в TemplaVoila
 
Привет! Имеется следующее меню:

Код:

        <div id="menu">
                <ul>
                        <li><a href="#" class="menu1-level1-no">Меню первого уровня</a>
                        <!--[if lte IE 6]>
                        <a href="#">Меню первого уровня
                        <table><tr><td>
                        <![endif]-->
                                <ul>
                                        <li><a href="#" class="menu1-level2-no">Меню второго уровня</a></li>
                                        <li><a href="#" class="menu1-level2-act">Меню второго уровня (активное)</a></li>
                                </ul>
                        <!--[if lte IE 6]>
                        </td></tr></table>
                        </a>
                        <![endif]-->
                        </li>
                        <li><a href="#" class="menu1-level1-no">Второе меню первого уровня</a>
                        <!--[if lte IE 6]>
                        <a href="#">Второе меню первого уровня
                        <table><tr><td>
                        <![endif]-->
                                <ul>
                                        <li><a href="#" class="menu1-level2-no">Меню второго уровня</a></li>
                                        <li><a href="#" class="menu1-level2-act">Меню второго уровня (активное)</a></li>
                                </ul>
                        <!--[if lte IE 6]>
                        </td></tr></table>
                        </a>
                        <![endif]-->
                        </li>
                </ul>
        </div>

Пытаюсь замапить строго по туториалу - не получается. В окне маппинга меню со всей разметкой отображается корректно, но когда я вставляю field_menu с div:INNER - меню исчезает из прьевью, а на странице показывается без css. Видимо одного div не хватает...

Я подозреваю, что здесь нужно маппить вложенными компонентами, то есть в родительский div вкладывать ul, li и, наверное, table, но не соображу что и как. Что надо сделать?

void 26.07.2008 17:02

Ничего не надо вкладывать. Мапите внешний div, а затем генерируете меню через TS.

maaboo 26.07.2008 17:05

У меня его не видно. То есть видны пункты верхнего уровня, без CSS. При маппинге всё отображается корректно.

maaboo 26.07.2008 21:39

Вложений: 5
Дополняю.

Когда маплю указанное выше меню как EL:

При маппинге:
Вложение 177

При просмотре:
Вложение 173

При выводе в страницу:
Вложение 174

Когда маплю как CO:

При просмотре:
Вложение 175

При выводе в страницу:
Вложение 176

То есть первый вариант как бы правильный, но такое чувство, что он CSS для меню не может обработать, или вложенные элементы. Выглядеть оно должно как на предпоследней картинке. При контейнере он просматривает нормально, но не выводит вообще в страницу.

Выручайте!

maaboo 27.07.2008 15:10

Приблизительно нашёл в чём дело вот тут. Как и следовало - замапить надо только верхний контейнер, однако необходимо прописать TS'ом нечто, а что именно - я не понимаю.

maaboo 27.07.2008 16:13

Замапил только контейнерный див. Поменял сетап на

lib.menu_1 = HMENU

lib.menu_1.1 = TMENU
lib.menu_1.1 {
wrap = <UL> | </UL>
NO.wrapItemAndSub = <LI class="menu1-level1-no"> | </LI>
ACT = 1
ACT.wrapItemAndSub = <LI class="menu1-level1-act"> | </LI>
}

lib.menu_1.2 = TMENU
lib.menu_1.2 {
wrap = <UL> | </UL>
NO.wrapItemAndSub = <LI class="menu1-level2-no"> | </LI>
ACT = 1
ACT.wrapItemAndSub = <LI class="menu1-level2-act"> | </LI>
}


Меню теперь показывается, но только верхнего уровня. Не пойму почему вложенности не видит.

maaboo 27.07.2008 17:09

Решилось добавкой expAll = 1 в каждый TMENU.

maaboo 27.07.2008 17:11

Вопрос - а то, что я убрал stdWrap.htmlSpecialChars = 1 - это нормально?


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

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