Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 26.05.2011, 15:00   #1
litleblinus
Новенький
 
Регистрация: 26.05.2011
Сообщений: 7
Unhappy Помогите с TMENU

Здравствуйте уважаемые знатоки typo3! Я делаю первый сайт на typo3 по книге Jeremy Greenawalt - TYPO3 Templates - 2010. Всё было отлично пока я не добрался до главы про меню... Вроде всё делаю правильно, но функция rollover у меня не работает - изображение не меняется, а в шапке сайта появляется строчка /* /*]]>*/ которая (на сколько я понял) берётся из скрипта создаваемого typo3.
вот код который должен быть:
Код:
## Main Menu [Begin]
lib.mainMenu = HMENU
lib.mainMenu.entryLevel = 0
lib.mainMenu.wrap = <ul id="menu-area">|</ul>
lib.mainMenu.1 = TMENU
lib.mainMenu.1 {
begin = 1
NO {
allWrap = <li class="menu-item">|</li>
after ACT <img src="clear.gif" width="15"> | |*| <img src="clear.gif" width="15"> | |*| &nbsp;
ATagParams = class="menu-links"
ATagTitle.field = description // title
beforeImg = fileadmin/templates/bullet_rollover.png
beforeImgLink = 1
##RO = 1
##beforeROImg = fileadmin/templates/bullet_rollover.png
}
ACT < .NO
ACT = 1
ACT {
ATagParams = class="active-link"
beforeImg >
}
}
## Main Menu [End]
я, для теста, убрал всё лишнее и оставил только это:
Код:
## Main Menu [Begin]
lib.mainMenu = HMENU
lib.mainMenu.entryLevel = 0
lib.mainMenu.wrap = <ul id="menu-area">|</ul>
lib.mainMenu.1 = TMENU
lib.mainMenu.1.NO {
allWrap = <li class="menu-item">|</li>
beforeImgLink = 1
beforeImg = fileadmin/templates/bullet.png
RO = 1
beforeROImg = fileadmin/templates/bullet_rollover.png
allWrap = <li class="menu-item">|</li>
}
## Main Menu [End]
но проблема осталась. Если тут можно оставлять ссылку на сайт - напишите и я кину адрес своего сайта чтобы было нагляднее.
litleblinus вне форума   Ответить с цитированием
Старый 26.05.2011, 18:17   #2
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Проще всего вот эту всю логику ролловеров поместить в css, особенно если они одинаковые для всех ссылок. Это и проще и правильнее с точки зрения отделения логики от оформления.
То есть в вашем случае код css будет примерно таким (то что нужно для rollover)
Код:
li.menu-item {
  padding-left: 10px; /* отступ для размещения картинки */

/* собственно картинка для обычного состояния */
  background: url('fileadmin/templates/bullet.png') no-repeat 0 5px; 
}
li.menu-item:hover {
/* картинка для состояния "мышь сверху" */
  background: url('fileadmin/templates/bullet_rollover.png') no-repeat 0 5px;
}
Как-то так.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 26.05.2011, 21:07   #3
litleblinus
Новенький
 
Регистрация: 26.05.2011
Сообщений: 7
По умолчанию

спасибо! завтра попробую на работе
litleblinus вне форума   Ответить с цитированием
Старый 27.05.2011, 12:35   #4
litleblinus
Новенький
 
Регистрация: 26.05.2011
Сообщений: 7
По умолчанию

Что-то не получается.. Добавил в style.css, но он только делает отступ, картинку не вставляет.
вот сам файл ксс:
Код:
/* @group Reset Styling */

/* -------------------------------------------------------------- 
  
	reset.css
	Resets default browser CSS.
   
	Based on but not the same as work by Eric Meyer:
	http://meyerweb.com/eric/tools/css/reset/
	v1.0 | 20080212
   
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* @end Reset Styling */

/* @group Base Styling */

body {
font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
font-size: 16px;
line-height: 18px;
margin: 20px;
}
p, ul, div {
color: #333;
font-size: 16px;
	line-height: 18px;
}
h1 {
	font-size: 30px;
	line-height: 36px;
	margin-bottom: 18px;
	font-weight: 200;
	font-variant: small-caps;
}
h2 {
	margin-bottom: 24px;
	line-height: 30px;
	font-size: 18px;
}
h3 {
	font-size: 20px;
	line-height: 24px;
}
h4, h5, h6 {
	font-size: 18px; 
	line-height: 24px;
}
ul, ol {
	margin: 0px 0px 18px 18px;
}
ul {
	list-style-type: circle;
}
ol {
	list-style: decimal;
}
td {
	padding: 5px;
}
:link, :visited {
	font-weight: bold;
	text-decoration: none;
	color: #036;
}

/* @end Base Styling */

/* @group Menu Styling */

ul#menu-area li, ul#submenu-area li {
  list-style-type: none;
  display: inline;
	margin-right: 20px;
}

ul#menu-area {
	border-bottom: 2px solid #666;
	margin-bottom: 2px;
}

ul#submenu-area {
	margin: 0px 0px 20px 50px;
}

li.menu-item a {
	font-size: 20px;
	line-height: 20px
}

li.menu-item a, li.submenu-item a {
	color: #666;
	font-weight: normal;
	font-variant: small-caps;
}

/* @end Menu Styling */

/* @group TYPO3 Markup Styling */

dd.csc-textpic-caption {
	font-size: 70%;
}

li.menu-item a.active-link {
  color: #0033FF;
}

li.menu-item {
padding-left: 50px; 
background: url('fileadmin/templates/bullet.png') no-repeat 0 5px;
}

li.menu-item:hover {
  background: url('fileadmin/templates/bullet_rollover.png') no-repeat 0 5px;
}

/* @end TYPO3 Markup Styling */
суть в том что картинка должна быть перед текстом меню, это просто кружок. тоесть например "картинка" "пункт меню"
litleblinus вне форума   Ответить с цитированием
Старый 27.05.2011, 12:46   #5
litleblinus
Новенький
 
Регистрация: 26.05.2011
Сообщений: 7
По умолчанию

не понимаю, пробовал менять цвет - меняется, а изображение не вставляет
litleblinus вне форума   Ответить с цитированием
Старый 27.05.2011, 12:48   #6
litleblinus
Новенький
 
Регистрация: 26.05.2011
Сообщений: 7
По умолчанию

а всё понял, изображение нужно было кидать в папку к файлу css
litleblinus вне форума   Ответить с цитированием
Старый 27.05.2011, 13:54   #7
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Ну да, чтобы пути были правильные.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 27.05.2011, 14:42   #8
litleblinus
Новенький
 
Регистрация: 26.05.2011
Сообщений: 7
По умолчанию

Спасибо за помощь! Интересно в чём же была проблема
litleblinus вне форума   Ответить с цитированием
Старый 27.05.2011, 15:27   #9
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Я забыл сказать что сейчас для вот этого эффекта в меню достаточно следующий TS-код использовать:
Код:
lib.mainMenu = HMENU
lib.mainMenu {
	entryLevel = 0
	wrap = <ul id="menu-area">|</ul>
	1 = TMENU
	1 {
		NO {
			linkWrap = <li class="menu-item">|</li>
			ATagParams = class="menu-links"
			ATagTitle.field = description // title
		}
		ACT = 1
		ACT < .NO
		ACT.ATagParams = class="active-link"
	}
}
То есть меню остается исключительно текстовым, а все оформление (внешний вид) задается исключительно с помощью css. Это намного проще и удобнее.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 27.05.2011, 18:19   #10
litleblinus
Новенький
 
Регистрация: 26.05.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от -=UncleByte=- Посмотреть сообщение
Я забыл сказать что сейчас для вот этого эффекта в меню достаточно следующий TS-код использовать:
Код:
lib.mainMenu = HMENU
lib.mainMenu {
	entryLevel = 0
	wrap = <ul id="menu-area">|</ul>
	1 = TMENU
	1 {
		NO {
			linkWrap = <li class="menu-item">|</li>
			ATagParams = class="menu-links"
			ATagTitle.field = description // title
		}
		ACT = 1
		ACT < .NO
		ACT.ATagParams = class="active-link"
	}
}
То есть меню остается исключительно текстовым, а все оформление (внешний вид) задается исключительно с помощью css. Это намного проще и удобнее.
Спасибо! попробую
litleblinus вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Tmenu выбрасывает второй уровень dys TypoScript практикум 6 31.03.2011 20:27
Помогите интегрировать Breadcrumb меню в шаблон viair Общие вопросы 2 04.02.2009 18:09
Помогите сделать меню 3-го уровня. Manas TypoScript практикум 2 31.07.2007 21:02
RealURL и TMENU: need help theoretic Общие вопросы 9 06.07.2007 14:56
TMENU - трудности перевода... Future Общие вопросы 13 30.01.2007 21:53


Часовой пояс GMT +4, время: 21:44.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория