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

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

Ответ
 
Опции темы Опции просмотра
Старый 04.01.2010, 14:45   #1
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию получение в темплейт переменных из extension

можно ли, и если можно то как, получить в шаблон необходимые мне данные из моего расширения???

речь идет не о возвращаемом результате (хотя интересует и возможность получения масива данных в шаблон чтоб потом из шаблона управлять выводом этих данных), а о получении какой-то переменной, например я хочу чтоб в бредкрамб попадало не название страницы, а название логической единицы выводимой на данной странице

так как страница выводит динамический контент, то к примеру в магазине это может быть наименование товара и я хочу выдать это наименование в своем расширении в переменную, а в шаблоне отловить ее и вставить в бредкрамб

Последний раз редактировалось 3ton; 04.01.2010 в 16:58
3ton вне форума   Ответить с цитированием
Старый 04.01.2010, 17:05   #2
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Поищите tt_news + breadcrumb

Задача регулярно обсуждается и в гугле можно найти ее решение.
Например: http://www.typo3-jack.net/typo3-proj...umb-trail.html

Для вашего экстеншена делается по аналогии.
dmartynenko вне форума   Ответить с цитированием
Старый 04.01.2010, 19:17   #3
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

спасибо за ссылку, я прочитал топик - действительно полезный, но из него не понятно как именно находясь в шаблоне воспользоваться переменной из расширения.

к примеру есть расширение Test
в нем объявлены атрибуты title и mode

как находясь в шаблоне получить в
temp.mainTemplate.subparts.CONTENT_TITLE = TEXT
temp.mainTemplate.subparts.CONTENT_TITLE.value = ????title????

либо проверить

[?????????mode=5?????]
temp.mainTemplate.subparts.CONTENT_CONTENT < tx_test_pi1
[end]
3ton вне форума   Ответить с цитированием
Старый 04.01.2010, 19:47   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Я не знаю что вы имеете в виду под атрибутами расширения. В TYPO3 таких терминов я не встречал. Уточните откуда вы ожидаете получить title (БД, GET/POST, FF, TypoScript) ?

В примере по ссылке (и аналогичных) три основных момента:
1. RECORDS - получение записей из БД.
2. source.data = GPvar:tx_ttnews|tt_news - из переменной GET берется параметр tx_ttnews[tt_news]=ID и используется для поиска по PK таблицы tt_news (т.е. возвращается одна запись с указаным в url ID)
3. conf.* - это описание того, что и как должно быть возвращено (выведено на страницу).

Все параметры подробно описаны в TSRef.
dmartynenko вне форума   Ответить с цитированием
Старый 04.01.2010, 19:55   #5
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

я имел ввиду файл-класс расширения и как любой класс - он имеет атрибуты и методы

я предполагаю что если и есть доступ к объекту расширения, то либо это какой то гетер, либо чтение public атрибутов

в моем случае я себе представляю такой механизм действий (не уверен что это возможно)
при генерации страницы, вызывается расширение находящееся на этой странице которое сохраняет в своих public атрибутах значения мне необходимые, потом я из TypoScript(из шаблона) обращаюсь к этому объекту и получаю его атрибуты
использую их в условии и подставляю в шаблон

в данный момент я как раз руководствуюсь этим справочником(TSRef), но к сожалению по моей проблеме ничего найти не смог

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

можно передать через GLOBALS['TSFE']->applicationData['tx_ext_key'] (я иногда и просто GLOBALS['tx_ext_key'] юзаю, хотя это не кошерно)
в шаблоне это будет TSFE:applicationData|tx_ext_key (но тут еще надо понимать область видимости - где можно использовать эти данные, я обычно пользуюсь этим внутри TS объекта, который генерируется из php кода плагина через tslib_cObj::cObjGetSingle)

можно через TS константы
прописать в ext_localconf.php:
Код:
t3lib_extMgm::addTypoScriptConstants('tx_ext_key_var1 = 123')
в шаблоне это будет {$tx_ext_key_var1}
но тут минус что тяжелый код не должен помещаться в ext_localconf.php т.к. он инклюдится при любом вызове, здесь лучше размещать только какие-то глобальные переменные конфигурации

Последний раз редактировалось jettero; 05.01.2010 в 12:48
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, время: 18:17.


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

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