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=3418)

c0d3r 17.05.2007 12:51

Работа с константами
 
Уважаемые! Почитал в tsref про константы: http://typo3.org/documentation/docum....1.0/view/6/1/

Но практика обламывает :(

Код:

constants {
...
        PAGES_MAIN_PID = 5
}
....
lib.menu = HMENU
lib.menu.special = directory
lib.menu.special.value = {$constants.PAGES_MAIN_PID}
lib.menu.1 = TMENU
lib.menu.1.NO {
  before =   
  after =    | |*|    |  |*|  
}

Меню не работает.
Если ставлю там пятёрку цифрой, то без проблем.
В чём я туплю?

ps {$PAGES_MAIN_PID} тоже не работает.

c0d3r 17.05.2007 13:00

Поковырявшись, нашёл ошибку.
Я прописываю константы в шаблоне в разделе Setup, в подключаемом файле.
Прописал явно в разделе Constants, {$PAGES_MAIN_PID} заработал.

Не понятно, зачем тогда нужен блок constants {}, который можно прописывать в Setup?

c0d3r 17.05.2007 14:54

Не обращайте внимания на этот пост, он сбивает с толку.
Было:
TSconfig объяснил кое-что, но, может быть, на русском короче и понятнее получится у кого-нибудь :)
http://typo3.org/documentation/docum...1/3/#id3546072

Дылгеров Ц.В. 18.05.2007 09:57

вроде бы там написано начинать с TSFE.constants и т.д.
а у вас просто constants

c0d3r 18.05.2007 11:27

Это прописывать её так можно. А читать как раз предлагается без всяких довесков.

Цитата:

Example:
TSFE.constants.websiteConfig.id = 123

In the TypoScript templates you can now insert this constant as {$websiteConfig.id}
Упс, перечитал доку, я всех с толку сбил, меня интересует именно блок constants {} в TTS, а не TSFE.constаnts в Page TSconfig :(
Пошёл поищу ссылку.
В TSref буквально пара строчек, ничего не объяснили.

Пока использую реальные константы :)

c0d3r 06.06.2007 18:29

Внимание, вопрос :) Кто-нибудь может доступно объяснить, зачем в TS есть константы в блоке Сonstants и TLO-константы в блоке Setup, constants {}? В чём их принцпиальное различие? Спасибо!

Пока что обнаружил, что TLO-константы можно прочитать в PHP:
PHP код:

$GLOBALS['TSFE']->tmpl->setup['constants.'][$name

а вот первые пока никак не могу задействовать, на форуме всплывало, что их можно передавать как параметры user_ функций
Код:

lib.myplace = USER
lib.myplace.userFunc = user_my->main
lib.myplace.param = {$TSC_DOMAIN}

но хочется несколько большего...

И, наоборот, первые легко юзаются в TS через {$CONST_NAME}, а со вторыми затык, не выходит каменный цветок...

void 06.06.2007 23:10

Вроде бы те, которые из setup, оверрайдят те, которые в constants. Точно не скажу.
Попробуйте
PHP код:

$GLOBALS['TSFE']->tmpl->generateConfig_constants(); 


c0d3r 07.06.2007 10:58

у tmpl нет метода generateConfig_constants()
он есть в class.t3lib_tsparser_ext.php и class.t3lib_tsstyleconfig.php

А как можно использовать TLO-константы в TS? Конструкция {$const} для них не работает... у меня, по крайней мере....


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

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