Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   формирование меню, а затем добавление к нему дополнительных тэгов (http://forum.typo3.ru/showthread.php?t=1864)

Vladimir_ 03.10.2006 17:08

отображение картинки в зависимости от 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:35

быть может, проблема решается через подобный код в шаблоне
<img src="m<--! ###THIS_ID### -->.jpg">
но(!) поясните пожалуйста, как тогда правильно должна выглядеть эта строка

PhilD 09.10.2006 18:18

если я правильно понял, то
1. после выбранного пункта меню должна отображаться специфичная для пункта меню картинка? - тогда решается через свойства Act
2. брать картинки из приаттаченных к странице (в предыдущей теме намекали) что-то мешает?

Pavel Antonov 10.10.2006 01:48

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

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

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

Код:

10 = TEXT
10.data = TSFE : id
10.wrap = <img src="im|.gif" alt="image" />

Замечание: Для подстраниц работать не будет. Лучше воспользоваться еще одним меню (HMENU) и сконфигурировать ACT. Получится гибче.

Vladimir_ 10.10.2006 12:44

мне казалось что я может и сложно, но зато полно изложил суть проблемы.. прошу прощения за сложность
на самом деле, картинку нужно подставлять _после_всего_ меню и в зависимости от выбранного пункта меню
т.е. есть таблица, в которой первая строка содержит меню, а вторая сождержит ту самую картинку, о которой идёт речь
сейчас есть такой код
Код:

  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> не знаю

PhilD 10.10.2006 13:32

как и советовал павел - делаете еще одно меню прямо следом, No устанавливаете пустым, Act - как у вас только без линка.

Vladimir_ 11.10.2006 12:13

всё это конечно хорошо.. правильные слова.. согласен
в 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">
  }

у меня не получается :(

Pavel Antonov 11.10.2006 12:34

перечитайте еще раз все написанное вам... там есть решение и первым и вторым способом!

Vladimir_ 11.10.2006 13:03

по поводу первого.. вы об этом?
Цитата:

Сообщение от Pavel Antonov
Насколько я понял Вам нужен ID-текущей страницы.
Это можно сделать так:
Код:

10 = TEXT
10.data = TSFE : id
10.wrap = <img src="im|.gif" alt="image" />


ваши же слова...
Цитата:

Замечание: Для подстраниц работать не будет.
либо в них какой то смысл которого я не понимаю, либо всё таки это не лучшее решение.. поясните

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

по поводу второго... вы об этом?
Цитата:

Лучше воспользоваться еще одним меню (HMENU) и сконфигурировать ACT. Получится гибче.
вы же обратили внимание что я привёл код этого самого "ещё одного меню" и пока что ничего не получилось, а также я сказал что второй день поисков только ещё больше запутал ситуацию
если бы мне удалось решить этот вопрос я бы не стал просить о помощи, а просто привёл решение для всех остальных кто столкнётся с подобной проблемой, но пока, я самостоятельно, ни на йоту не стал к решению ближе

PhilD 11.10.2006 14:44

Цитата:

и кстати, почему же всё таки нельзя использовать <!-- ###THIS_ID### --> или просто никто не использовал / не знает ?
Потому что шаблон - это просто кусок HTML-кода. и он никаких переменных не знает и знать не может. а парсер шаблона просто берет кусок между метками и заменяет его =>
Код:

subparts.THIS_ID_IMAGE = TEXT
...далее по решению Павла

При этом картинка подразумевается для каждой страницы своя.
Решение с дополнительным меню подразумевает что картинка задается для верхнего уровня меню и отображается на всех подстраницах.


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

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