Просмотр полной версии : Доступ к TSFE-переменным в TS
Winston James
28.05.2005, 17:42
Люди, помогите, пожалуйста.
Как обратиться к переменной $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 - не помогаеть.
Кто подскажет в чем фишка зарыта?
Заранее благодарен.
{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.
----
Может быть я открываю Америку и гуру только саркастически ухмыльнутся, но мне почему-то кажется, что для многих коллег эта инфа может оказаться полезной.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot