Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 13.05.2007, 01:50   #11
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

"WSOD" - это уж через чур.... 8=)
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 13.05.2007, 15:16   #12
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Уж очень досадить хотелось этой фиче
Ничего личного, TYPO3 я уже почти люблю
c0d3r вне форума   Ответить с цитированием
Старый 01.06.2007, 15:11   #13
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

В общем, в этом топике мы разобрались с FE-константами (из TS Setup).
А как получить в PHP значения константант из TS Constants?
Например:
Код:
TSC_DOMAIN = site.ru
Хочу использовать значение в PHP (в своих методах для объекта USER).
c0d3r вне форума   Ответить с цитированием
Старый 01.06.2007, 17:16   #14
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Проще всего сделать где-нибудь в EXT:my/static/setup.txt
Код:
plugin.tx_my{
 domain = {$TSC_DOMAIN}
}
а затем использовать значение
PHP код:
$GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_my.']['domain']; 
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 01.06.2007, 17:30   #15
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Интересно, большое спасибо!
А без создания плагина?
c0d3r вне форума   Ответить с цитированием
Старый 01.06.2007, 19:13   #16
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Говорим USER - подразумеваем плагин.
Говорим "плагин" - подразумеваем USER.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 04.06.2007, 10:48   #17
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Подразумеваете - оно конечно так...
Только вот есть у меня USER, да нет плагина - не до него пока.
Соотв., ваш совет насчёт plugin.tx_my{domain = {$TSC_DOMAIN}} не поможет
Попробую дампануть TSFE и вытащить путь
c0d3r вне форума   Ответить с цитированием
Старый 04.06.2007, 15:57   #18
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

В общем, как я понял, описание TS констант в стиле PHP ни к чему не приводит, требуется добавлять константы в системные или user-классы.

Вот такие определения попросту нигде не всплывают в PHP, хотя TS с ними отлично работает.
Код:
TSC_DOMAIN = RU
c0d3r вне форума   Ответить с цитированием
Старый 04.06.2007, 15:57   #19
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Ну каким-то же образом вы его вставили?
Например,
Код:
config.includeLibs.my = fileadmin/php/mylib.php
lib.myplace = USER
lib.myplace.userFunc = user_my->main
А раз вставили, то значит, можете передать параметры:
Код:
config.includeLibs.my = fileadmin/php/mylib.php
lib.myplace = USER
lib.myplace.userFunc = user_my->main
lib.myplace.param = this_is_param
Причем параметры могут быть константами:
Код:
config.includeLibs.my = fileadmin/php/mylib.php
lib.myplace = USER
lib.myplace.userFunc = user_my->main
lib.myplace.param = {$TSC_DOMAIN}
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 04.06.2007, 17:03   #20
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Огромное спасибо за такой детальный ответ, Вы ответили на мой другой вопрос по поводу параметров в функции Сразу в догонку вопрос - а как должны быть описана в PHP эта функция с параметром? Насколько я понимаю, в параметрах классов типа user_ подразумевается наличие $content и $conf...

Я многое в тайпо пока что делаю по примерам, просветляясь по ходу дела или позже, спасибо участникам форума! Сидеть и раскуривать все доки оказалось крайне непрактичным делом

Передал я так:
const.ts (тут только константы для TS, их немного. так как они юзаются в разных .ts):
Код:
TSC_DOMAIN = RU
TSC_DOMAIN_FULL = SITE.{$TSC_DOMAIN}
...
setup.ts (здесь уже только те константы, которые уйдут в PHP):
Код:
constants {
TSC_WELCOME = Добро пожаловать на сайт {$TSC_DOMAIN_FULL}!
...
}
Код:
lib.myplace = USER
lib.myplace.userFunc = user_my->main
но так как мне константа нужна не как параметр, то в user_my создаём метод
PHP код:
/**
* Получение TS-константы в PHP
* setup.ts: constants {...}
* @param string $name
* @return mixed
* @static
*/
function cmsConst($name) {

    if (!empty(
$GLOBALS['TSFE']->tmpl->setup['constants.'][$name])) {
        return 
$GLOBALS['TSFE']->tmpl->setup['constants.'][$name];
    } else {
        return 
false;
    }


и где надо, юзаем его:
PHP код:
echo $this->cmsConst('TSC_WELCOME'); 
В тайпо всё это так просто
c0d3r вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма + валидация > php > БД Artem Общие вопросы 3 08.01.2007 23:39
tt_products, PHP 5 ursula1000 Магазины и каталоги для TYPO3 2 22.10.2006 01:50
Конфиг PHP на dedicated Инталев TYPO3 хостинг 0 07.12.2005 14:24
TYPO3, PHP разработчик в Москве (full time) Valery Romanchev Работа и заказы / Job Offer and Request 0 07.07.2005 01:26
Как осуществить доступ на FE-страницу для нескольких групп FE-пользователей? Storm Общие вопросы 2 26.01.2005 01:02


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория