Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Доступ к TSFE-переменным в TS (http://forum.typo3.ru/showthread.php?t=639)

Winston James 28.05.2005 17:42

Доступ к TSFE-переменным в TS
 
Люди, помогите, пожалуйста.
Как обратиться к переменной $GLOBALS['TSFE']->fe_user->user['username']
через TS?

Я пробовал по-разному TSFE:fe_user:user:username
или
TSFE:fe_user.user.username
- не получается.

Мне хотелось бы результат отобразить через объект GIFBUILDER, поэтому я не могу воспользоваться внешним PHP_SCRIPTом.

Это должна быть конструкция типа

TRAILER.file = GIFBUILDER
TRAILER.file {
25 = TEXT
25.value = TSFE:fe_user.user.username
25.fontSize = {$myHeadFrontSize}
25.fontFile = fileadmin/fonts/arialb.ttf
25.fontColor = {$myHeadFrontFontColor}
25.fontColor = red
25.offset = 160, 108
}

Но так не работает. Я пробовал уже вместа .value ставить .data или .text - не помогаеть.

Кто подскажет в чем фишка зарыта?
Заранее благодарен.

Виталий 09.06.2005 17:04

{glob:TSFE:fe_user:user:username}

Winston James 12.06.2005 15:05

2 Виталий
Нет, не пишет зараза!
Пробовал варианты:

25.text.data={glob:TSFE:fe_user:user:username}
25.text.value={glob:TSFE:fe_user:user:username}
25.data={glob:TSFE:fe_user:user:username}

и тому подобное...
Ни в какую!

Valery Romanchev 12.06.2005 15:23

http://typo3.org/documentation/document-library/kb_betterstdwrap/Users_manual-6353a0cbfd/?encryptionKey=&cHash=9fb23d60cc

Вроде экстеншен надо ставить дополнительный

Winston James 12.06.2005 16:00

2 VR

Отличная ссылка! Это как раз то, что я искал.
Проблема только в том, что все равно - не работает.
Переношу пример 1:1 - не достает он эту проклятую переменную. Чистый текст выводит, а вместо переменной - пусто.

И что это может быть за дополнительный экстеншн, про который ничего не сказано?

И куда вставлять
print_r ($GLOBALS['TSFE') - кстати, с ошибкой написано?

Winston James 12.06.2005 16:17

Только что половина получилась!

Ссылка была дана на середину информации об экстеншене, поэтому не сразу разобрался, а точнее было бы:
http://typo3.org/documentation/document-library/kb_betterstdwrap/EXT_KB_Better_stdWr/

Это - специальный экстеншен kb_betterstdwrap.

Его можно загрузить обычным способом.
После этого - пример работает.

Но для меня это только половина решения, поскольку я хочу содержимое переменных выводить внутри объекта GIFBUILDER, и вот тут-то пока и загвоздка: тот же самый фрагмент исходника не дает того же результата. Вместо содержимого - пусто. Попробую еще немного покопаться, равно как и с применением print_r ($GLOBALS['TSFE']) - наверное эту функцию следует запускать из какого-нибудь PHP-скрипта. Или?

Winston James 13.06.2005 12:13

Теперь и вторая половина получилась!
Похоже, можно сабж на этом закрывать.
Вся фишка в следующем.

Внутри объекта PAGE будет работать следующая конструкция (как в примере на ссылке из предыдущего поста):

25 = TEXT
25.insertData = 1
25.value= User: {glob:TSFE:fe_user:user:username}

Сначала я пытался запустить эту конструкцию 1:1 также из объекта GIFBUILDER - но тщетно. Пришлось покопаться в исходниках, чтобы понять, как же выкрутиться. И я таки вычислил, что в данном случае нужно делать так:

25 = TEXT
25.text.insertData = 1
25.text = User: {glob:TSFE:fe_user:user:username}

И это действительно работает!!!

Я нашел так же, что следовало бы изменить в исходнике class.tslib_gifbuilder.php, для того, чтобы можно было и в GIFBUILDER пользоваться свойством .value: всего-то одну строку добавить. Но я этого делать не стал, чтобы не влезать в нутро Typo3.

----
Может быть я открываю Америку и гуру только саркастически ухмыльнутся, но мне почему-то кажется, что для многих коллег эта инфа может оказаться полезной.


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

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