Вход

Просмотр полной версии : TMENU и выборочная привязка стиля для названий разделов


agravin
26.10.2010, 19:37
Есть задача , выделить визуально один из подразделов выпадающего горизонтального меню. Поясню: есть меню такого вида

РАЗДЕЛ1 РАЗДЕЛ2 РАЗДЕЛ РАЗДЕЛ4
подраздел1.1 подраздел2.1 подраздел3.1 подраздел4.1
подраздел1.2 подраздел2.2 подраздел3.2 подраздел4.2
подраздел1.3 подраздел3.3

А надо сделать так:

РАЗДЕЛ1 РАЗДЕЛ2 РАЗДЕЛ РАЗДЕЛ4
подраздел1.1 подраздел2.1 подраздел3.1 подраздел4.1
подраздел1.2 подраздел2.2 подраздел3.2 подраздел4.2
подраздел1.3 подраздел2.3 подраздел3.3
подраздел1.4


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

IFSUB использовать не получится т.к. у всех этих подразделов есть дочерние страницы(((


И сорри за несовсем корректно показаные разделы меню - не получается красивше сделать

-=UncleByte=-
26.10.2010, 20:57
По-моему проще всего сверстать изначально грамотно при помощи списков и выводить потом сколько захочется. Тогда, кстати, IFSUB вполне нормально работать будет.

agravin
27.10.2010, 11:19
Сверстано грамотно, все нормально выводится.
Вопрос: есть ли возможность задавать свойство страницы дабы потом использовать его в TMENU для стилевого оформления ОТДЕЛЬНЫХ разделов?

-=UncleByte=-
27.10.2010, 12:16
У каждой страницы есть TS-config и прочие дополнительные свойства. Так что, вероятно, можно :)

agravin
27.10.2010, 13:21
Придумал. Нужно сделать разделы которые мы хотим выделить не страницами, а распорками. Остается придумать как задать им в свойствах урл , куда надо переходить

Chiz
28.10.2010, 17:48
У меня касающийся меню вопрос. Я его озвучу здесь дабы не создавать новой темы.
Есть меню, которое строится ДИВами (<div id="menux">...</div>). Мне необходимо поставить нумерацию перед каждым пунком меню. Да так, чтоб нумерацию можно было выбирать для каждого отдельного пункта.
Т.е.
1. Меню 1
2. Меню 2
III Меню 3
... III.I Меню 3.1
... III.II Меню 3.2
4. Меню 4
е Меню 5
... е.а Меню 5.1

Плагин, который бы парсил страницу и в зависимости от того, какой плагин на какой странице, рисовал нужную нумерацию, прикручивать к каждой странице у меня не получилось.
В этой теме прочитал про TSconfig для каждой странице, Мне кажется, что это можно как-то использовать для моего случая, ставя метку для страницы и где-то её птм обрабатывать. Вот вопрос только: "ГДЕ???". Подскажите начинающему :(
Я готов переделать меню, как угодно, т.е. <ul></ul> или <ol></ol>. На всё готов.

-=UncleByte=-
29.10.2010, 04:32
Возможно эта статья поможет - http://codeline.richmd.ru/2009/09/typo3-counters/

Chiz
29.10.2010, 11:45
Возможно эта статья поможет - http://codeline.richmd.ru/2009/09/typo3-counters/

Прекрасная статья!
А как поменять местами арабские цифры на римские или на буквы в меню?

agravin
29.10.2010, 16:38
У каждой страницы есть TS-config и прочие дополнительные свойства. Так что, вероятно, можно :)

Если мы пропишем TS-config для этой страницы

lib.menu.2 = TMENU
lib.menu.2 {
noBlur = 1
wrap = <div><ul>|</ul></div>
NO {
ATagParams = class="Какой-нибудь стиль"
allWrap = <li>|</li>
}
}

,то работать это будет только тогда, когда мы перейдем на эту страницу - так что этот вариант не прокатит.

Неужели никто такого не делал?

-=UncleByte=-
29.10.2010, 21:23
то работать это будет только тогда, когда мы перейдем на эту страницу - так что этот вариант не прокатит. Почему? Классы работают всегда и везде. Тем более если задавать их для состояния NO.

-=UncleByte=-
29.10.2010, 21:24
Написать обработчик при помощи CASE ;) Ну или использовать стандартные свойства списков.

agravin
30.10.2010, 00:58
Почему? Классы работают всегда и везде. Тем более если задавать их для состояния NO.

Классы работают всегда и везде, с этим никто не спорит. Соль в том, чтобы сделать для кустомной страницы свой класс в общем меню.
Например: есть горизонтальное выпадающее меню (у всех страниц есть подразделы - IFSUB не пройдет, а поля subtite, navtitle заняты )

РАЗЕЛ1 РАЗДЕЛ2 РАЗДЕЛ3
раздел1.1
раздел1.2
раздел1.3

Вопрос: как сделать чтоб у раздела 1.3 класс li был отличный от других разделов? (и при hovere и при active) . Я уже думал в сетапе id прописать . Сижу несколько часов, чешу репу глядя в руководство TSREF, но ничего путнего не приходит на ум.

-=UncleByte=-
30.10.2010, 08:08
Если изменения стиля повторяются с определенной переодичностью, то optionSplit поможет. Если выделение не влезает в такую последовательность, то надо что-то придумывать. Например, если никак не используется поле медиа, то можно туда запихивать однопиксельный gif и проверять его наличие в setup, или же просто использовать какую-то залитую туда картинку как бэкграунд для этого пункта меню.

agravin
30.10.2010, 11:45
Решил пойти другим путем. У всех страниц нужного мне уровня, очистил navtitle - решив, что пускай пустой navtitle отвечает за стандартный <a>
А для нужных мне разделов, в поле navtitle прописывем название нужного нам класса. Ну и конечно сам TS для этого уровня :

lib.menu.2 = TMENU
lib.menu.2 {
expAll = 1
noBlur = 1
wrap = <div><ul>|</ul></div>
NO {
stdWrap.field = title
stdWrap.wrap = <span>|</span>
ATagParams.cObject = TEXT
ATagParams.cObject {
field = nav_title
wrap = class="|"
}
wrapItemAndSub = <li>|</li>
}


Спасибо всем за ответы

void
30.10.2010, 21:20
Ну в общем так и нужно было делать, просто в таблице pages иногда не хватает пары кастомных полей для случаев типа вот этого. Можно использовать одно из стандартных, а можно написать простенькое расширение, которое добавит поле в таблицу pages.