Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
25.09.2006, 13:49 | #1 |
Новенький
Регистрация: 25.09.2006
Сообщений: 27
|
меню с rollover картинками
Всем доброго времени суток!!!
Прежде всего хочу извинится, если мой вопрос покажется через чур глупым, но к сожалению дока и примеры (в том числе из разных форумов) мне не помогли задача: - добавить меню с ссылками на соответствующие странички - меню остоют из картинок, которые при наведении на них курсора мыши меняются на другие - картинки уже существуют, формировать их не нужно; нужно всего лишь что бы в тэг <img src=... был добавлен код onmouseover=... и onmouseout - при этом также требуется обрабатывать url и получать из него значение переменной id и отображать меню, в котором картинка на с ссылкой на страничку с таким же id не содержала бы событий onmouseover=... и onmouseout я всегда работал с php, и на php это всё делается за три секунды, с typo3 я бьюсь головой об стену уже третью неделю, толку никакого.. ну почти никакого.. результат достигнутый на сегодняшний день выглядит вот так subparts.CONTENT < styles.content.get subparts.MENU = HMENU subparts.MENU.1 = GMENU subparts.MENU.1.NO { XY = [4.w],[4.h] 4 = IMAGE 4.file = fileadmin/images/m1.gif allWrap = <td style="color: #FFFFFF;"> | </td> } subparts.MENU.1.RO < subparts.MENU.1.NO subparts.MENU.1.RO = 1 subparts.MENU.1.RO { 4= IMAGE 4.file = fileadmin/images/m1_.gif } но(!), во-первых здесь выводится одна и таже картинка для всех пунктов меню (тоже самое и с rollover картинкой), мало того.. rollover картинка отображается вообще не правильно.. почему то сжата по вертикали.. П.С.: я с cms не работал, однако посмотрел mambo, joomla, дошёл в них до меню и вообще ничего не смог сделать, в typo3 хоть что то удалось но для этого понадобилось 3 недели... ужас..... Я начал осваивать cms в надежде что они упростят мою жизнь, а пока что они мне настолько всё усложнили, что я уже реально подумываю о написании собственной cms, так как вижу, что авторы существующих cms совершенно не понимают для чего cms нужны.. а опыт написания "почти cms" уже имеется, я вначале тоже использовал схожий подход.. но когда дошло до взаимодействия с реальными пользователями, увидел как нужно правильно делать, но на это требуется много времени и решил воспользоваться готовым решением.. но.. пока что это готовое решение меня озадачило по полной программе.. никогда ещё не приходилось так трудно осваивать ПО.. нервы на пределе |
25.09.2006, 15:40 | #2 | |
Senior Member
|
Цитата:
Каждая страница имеет поле media. Его можно для картинок в меню и кроме того это позволяет менять картинки в BE. Берите путь к картинке из поля media: Код:
10 = IMAGE 10 { file { import = uploads/media/ import.field = media import.listNum = 0 } GMENU использовать совсем не зачем тоже... используйте TMENU. Или вы будете что-то писать поверх картинки? Последний раз редактировалось Pavel Antonov; 25.09.2006 в 15:45 |
|
25.09.2006, 16:05 | #3 |
Новенький
Регистрация: 25.09.2006
Сообщений: 27
|
нет, поверх картинки я ничего писать не буду
стал использовать GMENU, так как не разобрался как отключить вывод имени страницы в TMENU (имеется ввиду что в TMENU typo3 генерил код вида <a href="somehost?id=5">about</a>, а about это имя одной из подстраничек) |
26.09.2006, 15:09 | #4 | |
Senior Member
|
Цитата:
Код:
1.NO { stdWrap.cObject = IMAGE stdWrap.cObject { file.import = uploads/media/ file.import.field = media file.import.listNum = 0 } } |
|
26.09.2006, 16:43 | #5 |
Новенький
Регистрация: 25.09.2006
Сообщений: 27
|
ну и я тогда уже совсем обнаглею и задам ещё один вопрос в продолжении темы
хорошо, допустим я использую stdWrap для подмены контента но (!) было бы замечательно если бы я мог ещё и для каждого пункта свой тэг вставлять, т.е., например для пункта 1: <img src="fileadmin/images/m1.jpg" id="m1" onmouseover="document.images['m1'].src='fileadmin/images/m1_.jpg';" onmouseout="document.images['m1'].src='fileadmin/images/m1.jpg';" border="0"> для пункта 2 соответсвенно: <img src="fileadmin/images/m2.jpg" id="m2" onmouseover="document.images['m2'].src='fileadmin/images/m2_.jpg';" onmouseout="document.images['m2'].src='fileadmin/images/m2.jpg';" border="0"> и т.д. вы уже обратили внимание что имена файлов различаются всего лишь цифрами.. ведь если я правильно понимаю формировнаие пунктов происходит в цикле.. (если ошибаюсь прошу меня извинить).. было бы замечательно подставлять в строку <img src="fileadmin/images/m... номерочек пункта меню так можно? П.С.: ещё раз прошу прощения за.. практически использование форума в целях перенесения сайта в typo3, хочу ещё раз повторить что я только приступил к его осваению и к сожалению самостоятельно задачи с меню решить не смог.. и думаю наличие в инете инфы о решении такого распространённого метода формирования меню всем новичкам в typo3 очень поможет П.П.С.: задам сразу следующий вопрос.. мне затем понадобиться формировтаь меню и подставлять вместо названия страничек русские названия пунктов, как я понимаю это делается через stdWrap, однако тоже не совсем ясно.. ведь у каждого пункта своё имя.. если можно поясните |
26.09.2006, 17:10 | #6 |
Senior Member
|
Во-первых, это не совсем цикл. Это итерация по элементам и зависите вы от элементов. Так что и используйте их для идентификации картинок/ссылок/клссов/ид. Можно конечно и нумерацию организовать (через LOAD_REGISTER), но тогда при изменении порядка страниц, у Вас и картинки все поедут к черту.
Вот пример из одного проекта: Код:
lib.mainMenu = HMENU lib.mainMenu { maxItems = 8 1 = TMENU 1 { noBlur = 1 NO{ ATagTitle.field = title stdWrap.override = <img alt="spacer" src="fileadmin/templates/img/spacer.gif" /> allStdWrap { preCObject = TEXT preCObject.field = subtitle preCObject.wrap = <div class="upmenu" id="|"> postCObject = TEXT postCObject.value = </div> } } } } <div class="upmenu" id="m1"><a href="index.php?id=18"><img alt="spacer" src="fileadmin/templates/img/spacer.gif" /></a></div><div class="upmenu" id="m2"><a href="index.php?id=23"><img src="fileadmin/templates/img/spacer.gif" /></a></div><div class="upmenu" id="m3"><a href="index.php?id=9"><img src="fileadmin/templates/img/spacer.gif" /></a></div>...</div><div class="cleaner"><!-- cleaner --></div> Значения m1, m2, ... , берутся из поля subtitle страницы (используйте какое хотите). Я думаю уж код под себя подогнать сможете... |