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

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

Ответ
 
Опции темы Опции просмотра
Старый 26.09.2006, 17:10   #1
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Во-первых, это не совсем цикл. Это итерация по элементам и зависите вы от элементов. Так что и используйте их для идентификации картинок/ссылок/клссов/ид. Можно конечно и нумерацию организовать (через 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 страницы (используйте какое хотите). Я думаю уж код под себя подогнать сможете...
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 02.10.2006, 16:23   #2
Vladimir_
Новенький
 
Регистрация: 25.09.2006
Сообщений: 27
По умолчанию

и всё таки... как не грустно, но.. typoscript всё таки не тривиальный язык и руководство по нему.. хм, хм, мягко говоря не самое замечательное
мытарства по поводу ршения задачи, как же исключить вывод названий страниц, ни к чему не привили, в результате пришлось вернуться на форум..
люди, добрые, скажите же, как мне это добиться используя следующий код
page = PAGE
page.typeNum = 0

page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/tmpl.html

subparts.CONTENT < styles.content.get

ATagTitle.field =
subparts.MENU = HMENU
subparts.MENU.1 = TMENU
subparts.MENU.1.NO {
subst_elementUid = 1
allWrap = <td style="color: #FFFFFF;"><img src="fileadmin/images/menu/m{elementUid}.jpg"> | </td>
}

если можно, конкретную строку напишите..
Vladimir_ вне форума   Ответить с цитированием
Старый 03.10.2006, 12:12   #3
Vladimir_
Новенький
 
Регистрация: 25.09.2006
Сообщений: 27
По умолчанию

моё собственное решение сейчас выглядит вот так
subparts.MENU = HMENU
subparts.MENU.1 = TMENU
subparts.MENU.1.NO {
doNotShowLink = 1
subst_elementUid = 1
allWrap = <td style="color: #FFFFFF;"><a href="?id={elementUid}"><img src="fileadmin/images/menu/m{elementUid}.jpg" id="m{elementUid}" onmouseover="document.images['m{elementUid}'].src='fileadmin/images/menu/m{elementUid}_.jpg';" onmouseout="document.images['m{elementUid}'].src='fileadmin/images/menu/m{elementUid}.jpg';" border="0"> | </a></td>
}

критикуйте.. советуйте (маны читать не советуйте читаю, а вот грамотного чела знающего typo3 явно не хватает)
Vladimir_ вне форума   Ответить с цитированием
Старый 03.10.2006, 12:47   #4
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от Vladimir_
моё собственное решение сейчас выглядит вот так
subparts.MENU = HMENU
subparts.MENU.1 = TMENU
subparts.MENU.1.NO {
doNotShowLink = 1
subst_elementUid = 1
allWrap = <td style="color: #FFFFFF;"><a href="?id={elementUid}"><img src="fileadmin/images/menu/m{elementUid}.jpg" id="m{elementUid}" onmouseover="document.images['m{elementUid}'].src='fileadmin/images/menu/m{elementUid}_.jpg';" onmouseout="document.images['m{elementUid}'].src='fileadmin/images/menu/m{elementUid}.jpg';" border="0"> | </a></td>
}

критикуйте.. советуйте (маны читать не советуйте читаю, а вот грамотного чела знающего typo3 явно не хватает)
CSS получается завязан на ID-страниц. По-моему мнению не очень хорошо... но работоспособно.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 16.11.2006, 14:22   #5
martis27
Новенький
 
Регистрация: 16.11.2006
Сообщений: 3
По умолчанию

Zdrastvuitie,
A niznajite li vy, kak pokazyvat tolko opredelionyje punkty meniu?
Ja pisu vot tak:

NO {
allWrap = <tr><td ......id="subMenuID{elementUid}">|</td></tr>
ATagParams = class="topMenuTxtSubItem"
RO=1
RO_chBgColor = #ffdd04 | #ffffff | subMenuID
subst_elementUid = 1
}
NO.if{
value=112,114,443,354 #Vot tolko tokije punkty ja hociu pokazyvat
isInList = {elementUid}
}

No u menia 2 problemy. NO.if kazetsa sovsem nerabotajet, daze jiesli ja napisu tak:
NO.if{
negate = 1
}
vseravno pokazyvajet vse punkty, hotia kazetsa sto v etom slucaje menu punkty sovsem ne dolzny byli byt pokazanymi.

I vtoroj vopros: kad dobratsa do etoij znacieniji elementUid v "if"?
Pravilno ja li napisal isInList = {elementUid}?

P.S. Izvinitie za moi alfavit.
martis27 вне форума   Ответить с цитированием
Старый 17.11.2006, 13:44   #6
martis27
Новенький
 
Регистрация: 16.11.2006
Сообщений: 3
По умолчанию

Nu jibat kapat!!! Dva dnia jibalsa!!! Vot odna strocka, i vsie menu items katoryje ja hociu izciezajet:
page.1.subparts.MENU_TEXT.excludeUidList = 112,113,234
(MENU_TEXT eto HMENU)

A vot
page.1.subparts.MENU_TEXT.special.list
page.1.subparts.MENU_TEXT.special.value

nifiga nisrabotala.

Da, pvavilno kto to skazal: TS jazyk netrivialnyj.
martis27 вне форума   Ответить с цитированием
Старый 25.11.2008, 20:09   #7
HardRock
Senior Member
 
Регистрация: 23.07.2008
Сообщений: 136
По умолчанию

Извините за боян, но весь вечер разбирался, експерементировал, ничего атк и не вышло.

Вот моя минюха

Код HTML:
temp.menulinks = HMENU
temp.menulinks.entryLevel = 0
temp.menulinks {
	1 = TMENU
	1 {
		noBlur = 1
		expAll = 1
		wrap = <ul id="mul">|</ul>
		noBlur = 1
		sub_elementUid = 1
		NO {
			wrapItemAndSub = <li onmouseout="out(this)" onmouseover="over(this)" id="m{elementUid}" >|</li>
			ATagParams =
			ATagTitle.field = // title
		}
		ACT=1
		ACT {
			wrapItemAndSub = <li class="active" onmouseout="out(this)" onmouseover="over(this)" id="m{elementUid}" >|</li>
			ATagParams =
			ATagTitle.field = // title
		}
	}

	2 < .1
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
Очень хотелось бы чтобы вместо {elementUid} автоматом формиловалось 1 2 3 4 5 ....

помогите пожалуйста.
HardRock вне форума   Ответить с цитированием
Ответ


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

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

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


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


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

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