Вход

Просмотр полной версии : Настройка меню 1-го уровня


@NET
18.12.2004, 17:36
Всем известный пример:

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-->

Задача, а как нужно поступить для того если требуется такие условия:
между ссылками должен стоять разделитель (картинка),
+ разделителя нет у первой и последней ссылки.
+ разделители оконтуривающий текущий раздел отличаются от разделителей по умолчанию.

Как такое можно настроить?

Pilot
20.12.2004, 07:40
посмотри на этом сайте раздел Документация
Там есть документ с примерами пи ТипоСкрипту...

И там найдешь ответ почти на любой вопрос

@NET
20.12.2004, 15:25
В том то и дело, что ответа на свой там я не нашел.

Максимум, до чего я дошел это:

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.

@NET
20.12.2004, 19:02
В примерах даже и близко ничего нет.

Странно, обычное дело, когда при парсинге задается написание начала и конца - где вставок по шаблону не происходит. А тат че-то не нашел - это для того чтобы не выводить селекторы в начале и в конце меню.

И совсем не понятно, как сконфигурировать, чтобы рядом с текущей ссылкой селекторы не вставлялись. Хм - вопрос?

Pilot
20.12.2004, 19:23
Смотри в TSREF страницу 67 - по опции:

optionSplit

Что же это в конце концов, optionSplit? Причем тут осторожность?
optionSplit является очень мощным средством, поскольку обеспечивает способ установки различных значений свойствам объектов меню, в зависимости от того являются ли они первыми, последними или средними в меню. optionSplit оперирует со всеми свойствами и из значениями в TypoScript всего объекта меню!
Например, если мне понадобится чтобы первый элемент был желтым(yellow), последний синим(blue) и остальные элементы белыми(white), я могу определить
fontColor = yellow |*| white |*| blue

вот так.

и тп...
Документ на русском можешь взять с этого сайта

Gleb
21.12.2004, 07:12
Что-то типо этого:
page.20 = HMENU
page.20.1 = TMENU
page.20.1 {
NO.allWrap = &nbsp;|*|&nbsp;<img src=\"/media/emoticons/angry.gif\">&nbsp;|*|
ACT = 1
ACT.allWrap = <span style=\"border:1px solid gray;padding:.1em 1em;margin:1em;\">|</span>
}

Маленький вопрос
[Уведомить при ответеk галочка на этом саите работает?

Pilot
21.12.2004, 07:38
нет похоже (

@NET
21.12.2004, 12:16
C optionSplit (fontColor = yellow |*| white |*| blue) я разобрался,

Спасибо Pilot`у и Gleb`у за подсказку.

Это решает задачу с отображением краев меню (начала и конца).

А вот как решить вторую задачу - совсем не понятно.
Как можно реализовать совместимость селлекторов и активного меню, когда они находятся рядом?

В моем случае - активный раздел отображается выделением похожей на кнопку. Как убрать у соседнего неактивного раздела селектор, чтобы вертикальная черта не стояла рядом с кнопкой?

И еще такой вопросик, а как осуществляется разбивка кода, чтобы на странице рендерилось не сплошная строка меню, а табулированная по строкам, есть ли там какие-нить /n /t ?

Gleb
21.12.2004, 23:16
1. For tabulation you can use table.
2. For column, in example above put <br /> at the end of allWrap or use table.

@NET
22.12.2004, 11:48
А есть возможность в setup поставить проверку?
Что то вроде
...
NO.allWrap = <td>|</td>
а потом поставить проверку:
если следующая ссылка ACT (или CUR или id вставить в линк) тогда
NO.allWrap.after = <td>&nbsp;</td>
иначе
NO.allWrap.after = <td><img src=\"selector.gif\"></td>