Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
12.09.2005, 18:20 | #1 |
Продвинутый
Регистрация: 19.08.2005
Сообщений: 39
|
PHP variables in TS stdWrap
Коллеги, перерыл все, что только можно и никак не могу решить передачу переменных из PHP в TS.
Существует меню, схема которого описана ниже. Требуется назначить переменную $menu_title из метода user_SectionMenu->write. Каким образом можно это сделать? temp.page_menu = HMENU temp.page_menu { special = userfunction special.userFunc = user_SectionMenu->write stdWrap.wrap ( <div> {$menu_title} <br>| </div> ) 1 = TMENU 1 { noBlur = 1 NO = 1 NO.linkWrap = <div>|</div> } } |
12.09.2005, 18:26 | #2 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
Нет такого понятия - передача переменных из PHP в TS, это нужно делать как то по-другому. Что именно ты хочешь передать?
|
12.09.2005, 18:33 | #3 |
Продвинутый
Регистрация: 19.08.2005
Сообщений: 39
|
Предполагается для каждого меню делать свой заголовок, который назначается через PHP.
|
12.09.2005, 18:43 | #4 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
1) Почему не делать этого внутри конфигурации TYPO3 или сохранять в заголовке какой-либо страницы, например в поле $GLOBALS['TSFE']->page['subttitle']?
2) почему не делать этого с помощью дополнительной функции, например stdWrap.prepend = USER stdWrap.prepend.userFunc = user_SectionMenu->write Принцип работы должен быть такой - работай вместе с системой и используй ее преимущества по максимуму, а не работай против нее. Т.е. свести количество внешних блоков на минимум. Конечно, иногда это не удается. Я все-таки подозреваю, что у тебя какая-то концепциональная ошибка. |
12.09.2005, 18:51 | #5 |
Продвинутый
Регистрация: 19.08.2005
Сообщений: 39
|
1) Хорошо. Но как значение этой переменной передать в
stdWrap.wrap ( <div> {$menu_title} <br>| </div> ) 2) ищу пример реализации |
12.09.2005, 18:59 | #6 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
1)
stdWrap.prepend = TEXT stdWrap.prepend.data = page:subtitle stdWrap.prepend.wrap = <div>|<br> stdWrap.outerWrap = |</div> |
12.09.2005, 19:08 | #7 |
Продвинутый
Регистрация: 19.08.2005
Сообщений: 39
|
1) Хорошо, даже если явно указать GLOBALS['TSFE']->page['subttitle'] в подгружаемом методе:
special = userfunction special.userFunc = user_SectionMenu->write то переменная назначается. но ведь дробить общий шаблон stdWrap.wrap на несколько частей не хорошо - малоли таких переменных будет несколько? скажем, stdWrap.wrap ( <div> {$menu_super_title} : {$menu_title} <br> {$menu_href} <br>| </div> ) Можно конечно еще дробить код. Но это очень некрасиво. Спасибо за быстрый ответ. |
12.09.2005, 19:14 | #8 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
\"Хорошо, даже если явно указать GLOBALS['TSFE']->page['subttitle'] в подгружаемом методе\"
Да нет, я имел в виду реальную страницу в бэкенде. Открываешь страницу, вводишь там текст в поле subtitle. Он выводится моим кодом над меню. А почему не дробить stdWrap? Я теперь совсем не понимаю, что за menu_title ты там выводишь. Какая вообще цель? Что это за заголовки? Откуда они появляются изначально? |
12.09.2005, 19:25 | #9 |
Продвинутый
Регистрация: 19.08.2005
Сообщений: 39
|
Приведем простой пример:
<a href=\"news.html\">НОВОСТИ</a> сайта SITE.RU <ul> <li>новость 1</li> <li>новость 2</li> </ul> TS: temp.page_menu = HMENU temp.page_menu { special = userfunction special.userFunc = user_SectionMenu->write stdWrap.wrap ( <a href=\"{$MENU_HREF}\">{$MENU_HEADER}</a> сайта SITE.RU <ul>|</ul> ) 1 = TMENU 1.noBlur = 1 1.NO = 1 1.NO.linkWrap = <li> |</li> 1.NO.doNotLinkIt=1 } Можно представить, что <li>новость 1</li> берется из БД. Разумеется, что массив меню мы дописываем с помощью user_SectionMenu->write Но встает вопрос, как формировать {$MENU_HREF} и {$MENU_HEADER}? Если учесть, что $MENU_HEADER может браться из тойже базы динамически/ Благодарю. |
12.09.2005, 19:33 | #10 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
Тогда мне кажется, что объект HMENU сюда не подходит. HMENU подходит оптимально только к страницам. На все остальное лучше брать или CONTENT или же программировать полностью свой плагин, который выдает готовый список с ссылками. А что, tt_news не подходит?
|