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

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

Ответ
 
Опции темы Опции просмотра
Старый 06.01.2010, 14:24   #1
jettero
Senior Member
 
Регистрация: 24.06.2006
Сообщений: 143
По умолчанию

Я не очень понимаю что вы имеете в виду под срабатыванием расширения. Пример я привел выше TSFE:applicationData|tx_ext_key - здесь доступ к атрибуту ->applicationData['tx_ext_key'] объекта TSFE.
Чтобы это работало проще всего ренедрить TS объект внутри самого плагина вручную вызывая cObjGetSingle()
jettero вне форума   Ответить с цитированием
Старый 06.01.2010, 14:42   #2
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

вот пример

я вызываю свой плагин
temp.mainTemplate.subparts.CONTENT_BLOCK < plugin.tx_astro7experts_pi1

и мне надо чтоб после этого вызова в коде я мог получить значение переменной mode которая является атрибутом класса
class tx_astro7experts_pi1 extends tslib_pibase

и применить ее значение в сравнивании
[полученая переменная = 3]
выполнится то что мне нужно
[end]

как его можно реализовать?
3ton вне форума   Ответить с цитированием
Старый 06.01.2010, 15:20   #3
jettero
Senior Member
 
Регистрация: 24.06.2006
Сообщений: 143
По умолчанию

Цитата:
Сообщение от 3ton Посмотреть сообщение
вот пример

я вызываю свой плагин
temp.mainTemplate.subparts.CONTENT_BLOCK < plugin.tx_astro7experts_pi1
тут плагин не вызывается, тут вы просто копируете строку
после парсинга шаблона ветка temp.* удаляется и соответственно плагин оттуда не вызовется

Цитата:
Сообщение от 3ton Посмотреть сообщение
и мне надо чтоб после этого вызова в коде я мог получить значение переменной mode которая является атрибутом класса
class tx_astro7experts_pi1 extends tslib_pibase
из TS можно получить доступ только к атрибутам глобальных объектов
и для пользовательских данных уже придумано место где их можно хранить и передавать (GLOBALS['TSFE']->applicationData)
jettero вне форума   Ответить с цитированием
Старый 06.01.2010, 15:42   #4
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

к примеру я в своем расширении сделал так

Код:
$_GLOBALS['TSFE']->applicationData['tx_astro7experts_mode'] = 'sdfgsdf';
как мне в шаблоне получить это значение???

Код:
temp.mainTemplate.subparts.BREADCRUMB = TEXT
temp.mainTemplate.subparts.BREADCRUMB.value < TSFE:applicationData|tx_astro7experts_mode
так не получается
3ton вне форума   Ответить с цитированием
Старый 06.01.2010, 15:49   #5
jettero
Senior Member
 
Регистрация: 24.06.2006
Сообщений: 143
По умолчанию

например так
temp.test = TEXT
temp.test.data = TSFE:applicationData|tx_astro7experts_mode

но чтобы это работало в основном шаблоне этот код должен идти после того места, где фактически вызовется ваш плагин
jettero вне форума   Ответить с цитированием
Старый 06.01.2010, 15:53   #6
jettero
Senior Member
 
Регистрация: 24.06.2006
Сообщений: 143
По умолчанию

и не понятно почему у вас $_GLOBALS а не $GLOBALS
насколько помню в php нету $_GLOBALS
jettero вне форума   Ответить с цитированием
Старый 06.01.2010, 15:55   #7
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

Цитата:
Сообщение от jettero Посмотреть сообщение
и не понятно почему у вас $_GLOBALS а не $GLOBALS
насколько помню в php нету $_GLOBALS
очепятка
3ton вне форума   Ответить с цитированием
Старый 06.01.2010, 16:07   #8
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

Цитата:
Сообщение от jettero Посмотреть сообщение
например так
temp.test = TEXT
temp.test.data = TSFE:applicationData|tx_astro7experts_mode

но чтобы это работало в основном шаблоне этот код должен идти после того места, где фактически вызовется ваш плагин
вот этот пример помог!

теперь помогите как использовать это в условиях

Код:
[globalVar=TSFE:applicationData|tx_astro7experts_mode=3]
	temp.mainTemplate.subparts.BREADCRUMB = TEXT
        temp.mainTemplate.subparts.BREADCRUMB.value =  test
[end]
так не срабатывает
3ton вне форума   Ответить с цитированием
Старый 07.01.2010, 00:26   #9
jettero
Senior Member
 
Регистрация: 24.06.2006
Сообщений: 143
По умолчанию

Можно использовать TS объект CASE и выводить через него.

Через условия я думаю работать не будет - все условия рассчитываются перед парсингом шаблона и соответственно до вызова плагина.
jettero вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
multilanguage extension typo27 Разработка расширений / TYPO3 extension development 3 23.09.2008 16:40
DR Wiki - Typo3 Wiki extension Extension key Костик Общие вопросы 1 07.08.2008 17:48
Extension Manager не работает Игорь Ф. Общие вопросы 38 25.06.2008 19:14
TYPO3 Fatal Error: Extension key "sv" was NOT loaded! Tod Общие вопросы 2 28.10.2007 21:53
Multiple vulnerabilities in extension ve_guestbook RSS Bot Новости TYPO3 (на английском) 0 02.08.2007 12:51


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


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

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