Templavoila и меню
Добрый день. Прошу помощи у форумчан. Уже несколько дней бьюсь с наверное не сложной задачей, но никак не могу одолеть. Прикручивая html-шаблон к движку, с помощью Templavoila, написал такой скрипт:
Код:
lib.menu = HMENU Код:
<ul> |
Стандартный код трехуровневого меню TYPO3:
=========== lib.menu = HMENU lib.menu { wrap = <div class="menu menu_ul">|</div> entryLevel = 0 1 = TMENU 1 { wrap = <div class="menu_1"><ul>|</ul></div> target = _top NO { wrapItemAndSub = <li>|</li> } ACT < .NO ACT = 1 CUR < .NO CUR = 1 CUR { allWrap = <div class="menu_act">|</div> } } 2 = TMENU 2 { expAll = 1 wrap = <div class="menu_2"><ul>|</ul></div> target = _top NO { wrapItemAndSub = <li>|</li> } ACT < .NO ACT = 1 CUR < .NO CUR = 1 CUR { allWrap = <div class="menu_act">|</div> } } 3 = TMENU 3 { expAll = 1 wrap = <div class="menu_3"><ul>|</ul></div> target = _top NO { wrapItemAndSub = <li>|</li> } ACT < .NO ACT = 1 CUR < .NO CUR = 1 CUR { allWrap = <div class="menu_act">|</div> } } } |
Николай, спасибо за ответ.
Ни один из известных мне скриптов меню не помог. Проблема оказалась в том, что парсер выдает исходный код в одну строку, что каким-то образом влияет на верстку. Разлепить теги пока не удалось. Пользовался Цитата:
Цитата:
В принципе можно вставить в код <wbr> , но хочется найти более красивое решение. |
Если речь идет о templavoila, то исходный код меню вставляют в setup.ts, например:
======= config.htmlTag_langKey = ru config.no_cache = 0 config.disablePrefixComment = 1 page = PAGE page.typeNum = 0 page.10 = USER page.10.userFunc = tx_templavoila_pi1->main_page page.shortcutIcon = favicon.ico page.includeCSS { file = fileadmin/templates/ns.css file.media = all } lib.menu = HMENU lib.menu { wrap = <div class="menu menu_ul">|</div> entryLevel = 0 1 = TMENU 1 { wrap = <div class="menu_1"><ul>|</ul></div> target = _top NO { wrapItemAndSub = <li>|</li> } ACT < .NO ACT = 1 CUR < .NO CUR = 1 CUR { allWrap = <div class="menu_act">|</div> } } 2 = TMENU 2 { expAll = 1 wrap = <div class="menu_2"><ul>|</ul></div> target = _top NO { wrapItemAndSub = <li>|</li> } ACT < .NO ACT = 1 CUR < .NO CUR = 1 CUR { allWrap = <div class="menu_act">|</div> } } 3 = TMENU 3 { expAll = 1 wrap = <div class="menu_3"><ul>|</ul></div> target = _top NO { wrapItemAndSub = <li>|</li> } ACT < .NO ACT = 1 CUR < .NO CUR = 1 CUR { allWrap = <div class="menu_act">|</div> } } } ======= В templavoila при разметке html лишь указывают путь к этому объекту (lib.menu). Или я что-то не так понял? А вообще-то я тоже приверженец templavoila, но сейчас осваиваю FLUIDTEMPLATE и прихожу во все больший восторг. Кстати, примеры и кодов, и их применений можно найти на http://typo3buddy.com/home/ |
Да, я делаю с Templavoila.
Практически решил задачу. Осталось только понять, как сделать правильно ACT и IFSUB. Оказалось, что пример приведенный Валерием работает, но для wrapItemAndSub, wrap и прочее, разный синтаксис. Сейчас пока так Код:
lib.menu = HMENU |
Цитата:
Или я что-то не понимаю? |
Если Вы посмотрите исходный код меню, в указанном Вами примере, то увидите, что его код идет одной строкой. Почему-то некоторые стили/скрипты этого иногда не любят и отображают меню криво. Как в моем случае. Именно для этого нужно разлепить теги, сделав их читаемыми.
|
Вы первый человек, от которого я узнал, что TYPO3 код своего site-map отображает "криво".
Приятной работы! |
Я не говорил, что TYPO3 отображает криво. Я сказал, что отображает в одну строку (проглатывая пробелы и перенос строки). И это в редких случаях плохо.
Доделал скрипт (немного кривоват, но работает). Можете вставить в свой сетап и посмотреть разницу в исходном коде браузера (Ctrl+U), до и после. Код:
lib.menu = HMENU |
Вставил в свой сетап и посмотрел разницу в исходном коде браузера (Ctrl+U), до и после:
До ======= <div id="menu" class="header"><div class="menu menu_ul"><div class="menu_1"><ul><li><a href="index.php?id=40" target="_top">Естествознание</a></li><li><div class="menu_act"><a href="index.php?id=1" target="_top">Вопросы</a></div><div class="menu_2"><ul><li><a href="index.php?id=2" target="_top">Внушения</a></li><li><a href="index.php?id=3" target="_top">Цель</a></li><li><a href="index.php?id=4" target="_top">Место</a></li><li><a href="index.php?id=5" target="_top">Тела</a></li><li><a href="index.php?id=6" target="_top">Вращения</a></li><li><a href="index.php?id=7" target="_top">Атомы</a></li><li><a href="index.php?id=8" target="_top">Зенон</a></li></ul></div></li><li><a href="index.php?id=9" target="_top">Светила</a></li><li><a href="index.php?id=17" target="_top">Моменты</a></li><li><a href="index.php?id=25" target="_top">Понятия</a></li><li><a href="index.php?id=33" target="_top">Идеи</a></li></ul></div></div></div> После ======= <div id="menu" class="header"> <li class="with_menu"><a href="index.php?id=40">Естествознание</a><ul class="sub_menu"> <li><a href="index.php?id=39">Администрация</a></li> </ul></li> <li class="active with_menu"><a href="index.php?id=1">Вопросы</a><ul class="sub_menu"> <li><a href="index.php?id=2">Внушения</a></li> <li><a href="index.php?id=3">Цель</a></li> <li><a href="index.php?id=4">Место</a></li> <li><a href="index.php?id=5">Тела</a></li> <li><a href="index.php?id=6">Вращения</a></li> <li><a href="index.php?id=7">Атомы</a></li> <li><a href="index.php?id=8">Зенон</a></li> </ul></li> <li class="with_menu"><a href="index.php?id=9">Светила</a><ul class="sub_menu"> <li><a href="index.php?id=10">Парадоксы</a></li> <li><a href="index.php?id=11">Модели</a></li> <li><a href="index.php?id=12">Маятники</a></li> <li><a href="index.php?id=13">Аналеммы</a></li> <li><a href="index.php?id=14">Мироздание</a></li> <li><a href="index.php?id=15">Свет</a></li> <li><a href="index.php?id=16">Человек</a></li> </ul></li> <li class="with_menu"><a href="index.php?id=17">Моменты</a><ul class="sub_menu"> <li><a href="index.php?id=18">Коперник</a></li> <li><a href="index.php?id=19">Кеплер</a></li> <li><a href="index.php?id=20">Галилей</a></li> <li><a href="index.php?id=21">Ньютон</a></li> <li><a href="index.php?id=22">Исчисление</a></li> <li><a href="index.php?id=23">Гравитация</a></li> <li><a href="index.php?id=24">Законы</a></li> </ul></li> <li class="with_menu"><a href="index.php?id=25">Понятия</a><ul class="sub_menu"> <li><a href="index.php?id=26">Кинетика</a></li> <li><a href="index.php?id=27">Масса</a></li> <li><a href="index.php?id=28">Энергия</a></li> <li><a href="index.php?id=29">Начала</a></li> <li><a href="index.php?id=30">Энтропия</a></li> <li><a href="index.php?id=31">Материя</a></li> <li><a href="index.php?id=32">Отношения</a></li> </ul></li> <li class="with_menu"><a href="index.php?id=33">Идеи</a><ul class="sub_menu"> <li><a href="index.php?id=34">Вымыслы</a></li> <li><a href="index.php?id=35">Аналогии</a></li> <li><a href="index.php?id=36">Кванты</a></li> <li><a href="index.php?id=37">Излучения</a></li> <li><a href="index.php?id=38">Движущее</a></li> </ul></li> </div> ======= Поясните, пожалуйста, что это дает? И, как "написал верстальщик: Код: <ul> <li class="with_menu"><a href="/">Раздел 1</a> <ul class="sub_menu"> <li><a href="/">Подраздел 1</a></li> <li><a href="/">Подраздел 2</a></li> </ul> </li> <li><a href="/">Раздел 2</a></li> <li><a href="/">Раздел 3</a></li> <li><a href="/">Раздел 4</a></li> <li><a href="/">Раздел 5</a></li> </ul>" Задача "верстальщика" не решена. Может проще тогда, не мурдствуя лукаво, повставлять везде элемент site-map и вперед к css типа: .csc-sitemap li a{ text-decoration:none; text-shadow: 1px 4px 3px rgba(0,0,0,0.2), 0px -5px 35px rgba(255,255,255,0.3); } .csc-sitemap a:hover { color: #fff; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 1px 4px 3px rgba(0,0,0,0.2), 0px -5px 35px rgba(255,255,255,0.3); } |
Часовой пояс GMT +4, время: 09:25. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot