PDA

Просмотр полной версии : Стиль линка в TMENU


kalhas
06.04.2003, 23:59
Здравствуйте!
Подскажите, как в TMENU задать стиль линку?
То есть система генерит мне линк вида:
< A HREF="index.php?id=10" onFocus="blurLink(this);" >
Хочется добавить туда еще class="myclass", в котором определены стили для линка меню - цвет, размер и т.д.
Это как-то возможно?

Perignator Temporis
07.04.2003, 12:15
Насколько я понял, у тегов существуют "параметры", в частности для линка это будет как:
NO.ATagParams = class="MyClass"
Для картинки:
image.params = class="MyClass"

Вот :)
Удачи!

Perignator Temporis
07.04.2003, 12:19
Другой вопрос по меню.
Ситцуация:
Есть меню (1 уровень) со страницами, соответственно, 1-го уровня.
Хочется, чтобы при переходе на одну из страниц этого меню ниже отрисовывалось бы еще одно - второго уровня.
Ниже - значит, в другом блоке, другого стиля. А 1-й уровень как есть присутствует всегда.
Знаю, что в TS есть IF, но не пойму, как его использовать с целью, чтобы на "корневой" странице, а так же на страницах, у которых нет подразделов, это второе меню не пыталось отрисовываться.
Подскажете?
Заранее спасибо!

Andreas Schwarzkopf
07.04.2003, 14:02
Это обычное дело для TS, для этого нужно просто ввести следующий уровень в меню:

tempmenu = HMENU
tempmenu.1 = TMENU
tempmenu.1.NO.allWrap = | <br>

tempmenu.2 = TMENU
tempmenu.2.NO.allWrap = &nbsp;&nbsp; | <br>

При этом цифры 1,2,... отображают соответствующий уровень меню

Perignator Temporis
07.04.2003, 14:11
Нет, это не то :)
Это все понятно, тут такая фишка будет:
--------------------------
Главное меню
--------------------------
Пункт
Подпункт
Подпукнт
Пункт
Пункт

А мне надо:
--------------------------
Главное меню
--------------------------
Пункт
Пункт
Пункт
--------------------------
--------------------------
Подпункты
--------------------------
Подпункт
Подпукнт
--------------------------

Символично так..
Причем блок "подпункты" НЕ должен показываться, если подпунктов нет у страницы и НЕ должен показываться у КОРНЕВОЙ страницы.

Вот это как бы сделать...

Andreas Schwarzkopf
07.04.2003, 14:53
Я сейчас вставил на этот сайт точно такое меню, как я описал выше. В стандартном варианте оно ведет себя точно, как указано в вашем примере. Открывается подменю только когда родительский пункт активный.

Другой вариант - все пункты открыты - можно включить так: expAll=1

Единственная проблема в моем варианте: у главной страницы все подпункты будут повторяться. Это я избегаю следующим трюком:
На подуровне создается страница под названием "Главная" или Home, ее тип изменяется на "ярлык" с ссылкой на настоящую главную страницу. Таким образом главная становится на один уровень с остальными и ведет себя в меню также.

Perignator Temporis
07.04.2003, 15:04
Может, я, конечно, чего не понимаю..
Но в Вашем варианте пункт "Typo3" меню просто открывается, показывая подпункты.
Это я знаю как сделать :)
А вот как сделать так, чтобы кликнув на "Typo3" на этом сайте мы увидели меню без изменения (ничего бы не открывалось), а вот ниже его, после пункта "Форум" в отдельной рамочке - подпункты меню "Typo3"?
То есть, меню мне не надо, чтобы раскрывалось, мне надо, чтобы второй уровень показывался отдельно от первого...
Сорри за назойливость :)

Andreas Schwarzkopf
07.04.2003, 15:30
Ага, понял ;-)
Нужно делать два меню, каждое в отдельной таблице.

menu1 = HMENU
menu1.entryLevel = 0
menu1.wrap = <table bgcolor = "#dddddd"><tr> | </tr></table>
menu1.1 = TMENU
menu1.1.NO.allWrap = <td> | </td>

menu2 = HMENU
menu2.entryLevel = 1
menu2.wrap = <br><table bgcolor = "#666666"><tr> | </tr></table>
menu2.1 = TMENU
menu2.1.NO.allWrap = <td> | </td>

Вроде бы теперь правильно?

Perignator Temporis
07.04.2003, 15:51
Ага, значит 2 меню..
Вот ведь.. Все гениальное просто :)
Спасибо, торможу я :)

Perignator Temporis
07.04.2003, 18:03
Кстати, вот такая меня мысль мучает, все забываю спросить.
Блок.. Ну, того же меню пусть.. Он у меня большой. Там и заголовок с табличкой и картинками, и тело, и внизу картиночка...
Словом, код объемный и обычным
wrap = <b>|</b>
тут не обойтись. Писать wrap = ... и огроооооомную строку - неудобно. Темплейтов для меню, как я понял, нет.
Есть ли вообще какой-нибудь способ переносить код, чтоли..
Или выход где-то рядом? :)

Andreas Schwarzkopf
07.04.2003, 19:22
Переносить wrap на новую строку не возможно.
Другой вариант:
temp = HTML
temp.value (
<table>
<tr><td>
test
<td></tr>
</table>
)

В таком случае можно форматировать HTML как обычно. Но конструкцию начало | конец
с таким элементом не сделать.