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

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

Ответ
 
Опции темы Опции просмотра
Старый 03.10.2006, 17:08   #1
Vladimir_
Новенький
 
Регистрация: 25.09.2006
Сообщений: 27
По умолчанию отображение картинки в зависимости от id страницы

тема перекликается с темой http://www.typo3.biz/showthread.php?t=1839
ещё раз всем добрый день!!!
задача по фомированию меню более менее решена, следующий шагом, как выяснилось, требуется, что бы после сформированного меню (строки таблицы), подставлялась ещё одна строка таблицы с двумя картинками, одна из которых должна зависеть от того какой пункт меню (в предыдущей строке таблицы) был выбран пользователем, т.е. в зависимости от параметров адресной строки, где
http://mydomain.ru/index.php?id=чемуто

а получаемый код вместе с меню
<table>
<tr><td>пунктменю1</td><td>пунктменю2</td><td>пунктменю3</td><td>пунктменю4</td><td>пунктменю5</td><td></td>пунктменю6</tr>
<tr><td colspan="6"><img src="/images/image1аздесьцифиркаравнаяid.jpg"><img src="/images/image2.jpg"></td></tr>
</table>


т.е. код typoscript должен выглядить видимо так
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>
stdWrap = <td>a</td>
}

а после это кода, код, который отслеживает параметры строки, в частности id и формирует ещё одну строку таблицы, т.е. видимо
чтототам.stdWrap = <tr><td colspan="6">тэги для картинок</td></tr>

вот как должна выглядить последняя строка?

П.С.: дико извиняюсь за такие вопросы, но надеюсь мне помогут как и всем тем кто будет искать ответы в дальнейшем

Последний раз редактировалось Vladimir_; 09.10.2006 в 17:34
Vladimir_ вне форума   Ответить с цитированием
Старый 09.10.2006, 17:35   #2
Vladimir_
Новенький
 
Регистрация: 25.09.2006
Сообщений: 27
По умолчанию

быть может, проблема решается через подобный код в шаблоне
<img src="m<--! ###THIS_ID### -->.jpg">
но(!) поясните пожалуйста, как тогда правильно должна выглядеть эта строка
Vladimir_ вне форума   Ответить с цитированием
Старый 09.10.2006, 18:18   #3
PhilD
Senior Member
 
Регистрация: 10.03.2006
Адрес: Moscow, Russia
Сообщений: 429
Отправить сообщение для PhilD с помощью ICQ Отправить сообщение для PhilD с помощью Yahoo
По умолчанию

если я правильно понял, то
1. после выбранного пункта меню должна отображаться специфичная для пункта меню картинка? - тогда решается через свойства Act
2. брать картинки из приаттаченных к странице (в предыдущей теме намекали) что-то мешает?
PhilD вне форума   Ответить с цитированием
Старый 10.10.2006, 01:48   #4
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Очень много и сложно пишите... трудно понять что хотите...

Насколько я понял Вам нужен ID-текущей страницы.

Это можно сделать так:

Код:
10 = TEXT
10.data = TSFE : id
10.wrap = <img src="im|.gif" alt="image" />
Замечание: Для подстраниц работать не будет. Лучше воспользоваться еще одним меню (HMENU) и сконфигурировать ACT. Получится гибче.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 10.10.2006, 12:44   #5
Vladimir_
Новенький
 
Регистрация: 25.09.2006
Сообщений: 27
По умолчанию

мне казалось что я может и сложно, но зато полно изложил суть проблемы.. прошу прощения за сложность
на самом деле, картинку нужно подставлять _после_всего_ меню и в зависимости от выбранного пункта меню
т.е. есть таблица, в которой первая строка содержит меню, а вторая сождержит ту самую картинку, о которой идёт речь
сейчас есть такой код
Код:
  subparts.MENU = HMENU
  subparts.MENU.1 = TMENU
  subparts.MENU.1.NO {
    ATagBeforeWrap = 1
    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>
  }
  subparts.MENU.1.ACT = 1
  subparts.MENU.1.ACT {
    subst_elementUid = 1
    doNotShowLink = 1
    allWrap = <td style="color: #FFFFFF;"><a href="?id={elementUid}"><img src="fileadmin/images/menu/m{elementUid}a.jpg" border="0"> | </a></td>
  }
и вот каким должен быть код, что бы к свормированному вышеуказанным кодом меню прицепилась строка <tr><td><img src="fileadmin/images/menu/m{elementUid}h.jpg"></td></tr> не знаю
Vladimir_ вне форума   Ответить с цитированием
Старый 10.10.2006, 13:32   #6
PhilD
Senior Member
 
Регистрация: 10.03.2006
Адрес: Moscow, Russia
Сообщений: 429
Отправить сообщение для PhilD с помощью ICQ Отправить сообщение для PhilD с помощью Yahoo
По умолчанию

как и советовал павел - делаете еще одно меню прямо следом, No устанавливаете пустым, Act - как у вас только без линка.
PhilD вне форума   Ответить с цитированием
Старый 11.10.2006, 12:13   #7
Vladimir_
Новенький
 
Регистрация: 25.09.2006
Сообщений: 27
По умолчанию

всё это конечно хорошо.. правильные слова.. согласен
в php у нас была бы переменная $_POST["id"] и мы бы лекго решили бы поставленную задачу
но, наверное всё таки новичкам (к коим я себя отношу) в typoscript этот вопрос не так лекго решить
и к сожалению, я вынужден просить вас о помощи, так как второй день экспериментов, только ещё больше меня запутал
в общем и целом вопросы такие
1. почему нельзя реализовать это через <img src="m<--! ###THIS_ID### -->.jpg"> прямо в html шаблоне? если всё же можно, то как правильно должна выглядить строка?
2. если вопрос 1 отпадает за счёт своей глупости, то прошу приянть посильное участие в решении поставленной задачи по отображению картинки сразу и в зависимости от меню, потому как ничего умнее чем
Код:
  subparts.PAGE_HEADER = HMENU
  subparts.PAGE_HEADER.1 = TMENU
  subparts.MENU1.1.NO {
    ATagBeforeWrap = 1
  }
  subparts.PAGE_HEADER.1.ACT = 1
  subparts.PAGE_HEADER.1.ACT {
    subst_elementUid = 1
    doNotShowLink = 1
    allWrap = | <img src="fileadmin/images/menu/m{elementUid}a.jpg" border="0">
  }
у меня не получается
Vladimir_ вне форума   Ответить с цитированием
Старый 11.10.2006, 12:34   #8
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

перечитайте еще раз все написанное вам... там есть решение и первым и вторым способом!
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 11.10.2006, 13:03   #9
Vladimir_
Новенький
 
Регистрация: 25.09.2006
Сообщений: 27
По умолчанию

по поводу первого.. вы об этом?
Цитата:
Сообщение от Pavel Antonov
Насколько я понял Вам нужен ID-текущей страницы.
Это можно сделать так:
Код:
10 = TEXT
10.data = TSFE : id
10.wrap = <img src="im|.gif" alt="image" />
ваши же слова...
Цитата:
Замечание: Для подстраниц работать не будет.
либо в них какой то смысл которого я не понимаю, либо всё таки это не лучшее решение.. поясните

и кстати, почему же всё таки нельзя использовать <!-- ###THIS_ID### --> или просто никто не использовал / не знает ?

по поводу второго... вы об этом?
Цитата:
Лучше воспользоваться еще одним меню (HMENU) и сконфигурировать ACT. Получится гибче.
вы же обратили внимание что я привёл код этого самого "ещё одного меню" и пока что ничего не получилось, а также я сказал что второй день поисков только ещё больше запутал ситуацию
если бы мне удалось решить этот вопрос я бы не стал просить о помощи, а просто привёл решение для всех остальных кто столкнётся с подобной проблемой, но пока, я самостоятельно, ни на йоту не стал к решению ближе
Vladimir_ вне форума   Ответить с цитированием
Старый 11.10.2006, 14:44   #10
PhilD
Senior Member
 
Регистрация: 10.03.2006
Адрес: Moscow, Russia
Сообщений: 429
Отправить сообщение для PhilD с помощью ICQ Отправить сообщение для PhilD с помощью Yahoo
По умолчанию

Цитата:
и кстати, почему же всё таки нельзя использовать <!-- ###THIS_ID### --> или просто никто не использовал / не знает ?
Потому что шаблон - это просто кусок HTML-кода. и он никаких переменных не знает и знать не может. а парсер шаблона просто берет кусок между метками и заменяет его =>
Код:
subparts.THIS_ID_IMAGE = TEXT
...далее по решению Павла
При этом картинка подразумевается для каждой страницы своя.
Решение с дополнительным меню подразумевает что картинка задается для верхнего уровня меню и отображается на всех подстраницах.
PhilD вне форума   Ответить с цитированием
Ответ


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

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

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


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


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

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