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

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 14.12.2012, 14:52   #1
ms9
Продвинутый
 
Регистрация: 31.05.2010
Сообщений: 65
По умолчанию Доступ к переменным TS из PHP

День добрый!

При помощи KickStarter создал расширение, которое отвечает за экспорт данных, добавляемых на страницу другим самопальным экстеншином на основе fluid&extbase. Экспортирующий экстеншн смотрит, есть ли изменения и если есть предлагает экспортировать данные.

Проблема обнаружила себя, когда была удалена страница: данные в базе при этом остались, просто в бэкэнде перестала быть доступна удаленная страница.

Для того, чтобы не удалять данные из базы вижу возможность указания экспортирующему эксту какие страницы смотреть, т.е. в задать константу с перечислением id страниц в template, затем читать эти данные в php. Подскажите, пожалуйста, как это сделать?

Что-то типо такого не помогло:

plugin.extension_key {
show_submit = 1
submit_text = Submit
}

global $TSFE;
$defaultConf = array(
'show_submit'=>0,
'submit_text'=>'search'
);
foreach ($defaultConf as $key => $defaultValue) {
if (isset($TSFE->tmpl->setup['plugin.'][$this->extKey.'.'][$key])) {
$this->{$key} = $TSFE->tmpl->setup['plugin.'][$this->extKey.'.'][$key];
} else {
$this->{$key} = $defaultValue;
}
}
echo $this->show_submit; // shows 1 (from typoscript)
ms9 вне форума   Ответить с цитированием
Старый 14.12.2012, 15:17   #2
ms9
Продвинутый
 
Регистрация: 31.05.2010
Сообщений: 65
Smile

Вот это сработало.

В константы добавил это:
Код:
my_variable = 123
В setup это:
Код:
plugin.tx_meineext_pi1 {
my_variable = {$my_variable}
}
В экстеншн это:
PHP код:
require_once (PATH_t3lib.'class.t3lib_tstemplate.php'); 
require_once (
PATH_t3lib.'class.t3lib_page.php'); 

// Initialize the page selector 
$sysPage t3lib_div::makeInstance('t3lib_pageSelect'); 
$sysPage->init(true); 

// Initialize the TS template 
$template t3lib_div::makeInstance('t3lib_TStemplate'); 
$template->init(); 

// Avoid an error 
$template->tt_track 0

// Get rootline for current PID 
$rootline $sysPage->getRootLine(1); 

// Start TS template 
$template->start($rootline); 

// Generate config 
$template->generateConfig(); 

print_r($template->flatSetup); 
Вопрос закрыт. Спасибо за внимание!
ms9 вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Включение кода PHP Костик Общие вопросы 2 30.10.2008 18:10
Трабл с загрузкой *.t3x в Extension Manager Raven2000 Общие вопросы 6 08.08.2007 18:15
Проблемы c php 5.2.3 Archual Общие вопросы 4 01.07.2007 15:11
Доступ к константам TS в PHP c0d3r TypoScript практикум 20 04.06.2007 17:48
Передача данных из PHP в TS или TV-FCE c0d3r TypoScript практикум 16 11.05.2007 17:52


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


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

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