Просмотр полной версии : Настройка меню 1-го уровня
Всем известный пример:
subparts.MENU = HMENU
subparts.MENU.minItems = 5
subparts.MENU.maxItems = 5
subparts.MENU.1 = TMENU
subparts.MENU.1.NO {
allWrap = |*| <td width=\"120\" height=\"20\" bgcolor=\"black\" nowrap> | </td> || <td width=\"120\"
height=\"20\" bgcolor=\"#2f2714\" nowrap> | </td> |*|
linkWrap = <center>|</center>
}
и вставляется он через
<!--###MENU### start-->
<!--###MENU### stop-->
Задача, а как нужно поступить для того если требуется такие условия:
между ссылками должен стоять разделитель (картинка),
+ разделителя нет у первой и последней ссылки.
+ разделители оконтуривающий текущий раздел отличаются от разделителей по умолчанию.
Как такое можно настроить?
посмотри на этом сайте раздел Документация
Там есть документ с примерами пи ТипоСкрипту...
И там найдешь ответ почти на любой вопрос
В том то и дело, что ответа на свой там я не нашел.
Максимум, до чего я дошел это:
subparts.MENU = HMENU
subparts.MENU.1 = TMENU
subparts.MENU.1 {
NO.allWrap = <td>|</td>
ACT = 1
ACT.allWrap = <td class=\"active\">|</td>
}
Эта настройка позволяет отделять визуально текущий раздел от других.
Но мне этого недостаточно.
Мне нужно, чтобы между ссылками были разделители - вертикальные картинки
раздел1 | раздел2 | раздел3 | раздел4
!!! разделители должны отсутствовать в начале и в конце меню
!!! перед и после активного раздела разделителя быть не должно, т.к. он выделяется другим фоном. Т.е.
раздел1 | раздел2 Активный_раздел3 раздел4
Как я понимаю должны идти проверки before/after current
Как такое можно настроить?
Valery Romanchev
20.12.2004, 16:43
поиск в юзер листе рулит.
Алгоритм следующий
1)смотришь доку по TS, находишь нечто приблизительно похожее
2)копируешь в буфер обмена TS-инструкцию
3)ищешь в юзер листе и находишь примеры работающего кода
Иногда стоит и поискать по мануалам (это обычный поиск на typo3.org)
Иногда приходится искать google (тогда вылезают результаты с немецких сайтов)
Что касается твоей задачи, уверен что всем можно сделать с помощью HMENU.
В примерах даже и близко ничего нет.
Странно, обычное дело, когда при парсинге задается написание начала и конца - где вставок по шаблону не происходит. А тат че-то не нашел - это для того чтобы не выводить селекторы в начале и в конце меню.
И совсем не понятно, как сконфигурировать, чтобы рядом с текущей ссылкой селекторы не вставлялись. Хм - вопрос?
Смотри в TSREF страницу 67 - по опции:
optionSplit
Что же это в конце концов, optionSplit? Причем тут осторожность?
optionSplit является очень мощным средством, поскольку обеспечивает способ установки различных значений свойствам объектов меню, в зависимости от того являются ли они первыми, последними или средними в меню. optionSplit оперирует со всеми свойствами и из значениями в TypoScript всего объекта меню!
Например, если мне понадобится чтобы первый элемент был желтым(yellow), последний синим(blue) и остальные элементы белыми(white), я могу определить
fontColor = yellow |*| white |*| blue
вот так.
и тп...
Документ на русском можешь взять с этого сайта
Что-то типо этого:
page.20 = HMENU
page.20.1 = TMENU
page.20.1 {
NO.allWrap = |*| <img src=\"/media/emoticons/angry.gif\"> |*|
ACT = 1
ACT.allWrap = <span style=\"border:1px solid gray;padding:.1em 1em;margin:1em;\">|</span>
}
Маленький вопрос
[Уведомить при ответеk галочка на этом саите работает?
C optionSplit (fontColor = yellow |*| white |*| blue) я разобрался,
Спасибо Pilot`у и Gleb`у за подсказку.
Это решает задачу с отображением краев меню (начала и конца).
А вот как решить вторую задачу - совсем не понятно.
Как можно реализовать совместимость селлекторов и активного меню, когда они находятся рядом?
В моем случае - активный раздел отображается выделением похожей на кнопку. Как убрать у соседнего неактивного раздела селектор, чтобы вертикальная черта не стояла рядом с кнопкой?
И еще такой вопросик, а как осуществляется разбивка кода, чтобы на странице рендерилось не сплошная строка меню, а табулированная по строкам, есть ли там какие-нить /n /t ?
1. For tabulation you can use table.
2. For column, in example above put <br /> at the end of allWrap or use table.
А есть возможность в setup поставить проверку?
Что то вроде
...
NO.allWrap = <td>|</td>
а потом поставить проверку:
если следующая ссылка ACT (или CUR или id вставить в линк) тогда
NO.allWrap.after = <td> </td>
иначе
NO.allWrap.after = <td><img src=\"selector.gif\"></td>
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot