Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
05.01.2010, 15:14 | #11 |
Senior Member
|
Все довольно просто. В своем расширении создаете массив аналогичный TS коду. И потом передаете в cObjGetSingle().
Код:
$TS['conf'] = 'RECORDS'; $TS['conf.']['tables']='tt_content'; $TS['conf.']['source'] = '151,99,113,199,163,208'; $TS['conf.']['dontCheckPid'] = 1; $TS['conf.']['conf.']['tt_content'] = 'TEXT'; $TS['conf.']['conf.']['tt_content.']['field'] = 'bodytext'; $content = $this->cObj->cObjGetSingle($TS['conf'],$TS['conf.']); Примеры того, как это используется в более сложном варианте (с подстановкой TS констант) есть в: http://typo3.org/extensions/reposito..._code/current/ http://typo3.org/extensions/reposito...marty/current/ |
05.01.2010, 15:16 | #12 |
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
а можно совместить вывод результата в HTML и после него дать TypoScript ???
|
05.01.2010, 15:41 | #13 |
Senior Member
|
Вопрос недопонял, в каком месте совместить, в первой или второй ваших частях?
Вызов cObjGetSingle() вернет вам HTML код, который вы должны еще вернуть TYPO3 из функции main(). Иначе он никуда не попадет. Исключение - если ваш TS объект будет типа USER_INT/COA_INT. Тогда вам вернется "маркер" (такой специальынй HTML код), который вы должны будете вернуть TYPO3 из функции main(). А сам контент будет вызван и сформирован асинхронно, без кэширование (почитайте отличие в TSRef между USER и USER_INT). |
05.01.2010, 15:52 | #14 |
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
судя по вашему посту, я могу делать все так же как и раньше в своем расширении, но перед return'om результата из main функции я могу добавить TypoScript код к результату который будет так же обработан, как если бы он был прописан в шаблоне
я прав? если да, то интересует - в какой момент будет обработан возвращаемый скрипт, в момент когда я передаю результат выполнения расширения в subparts temp.mainTemplate.subparts.CONTENT_BLOCK < plugin.tx_astro7experts_pi1 или по завершению обработки скрипта шаблона? кстати возвращаемый из расширения TypoScript должен будет сделать следущее temp.mainTemplate.subparts.MODE_BLOCK = TEXT temp.mainTemplate.subparts.MODE_BLOCK.value = tra-la-la |
06.01.2010, 05:39 | #15 |
Senior Member
Регистрация: 24.06.2006
Сообщений: 143
|
|
06.01.2010, 11:50 | #16 |
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
|
06.01.2010, 14:24 | #17 |
Senior Member
Регистрация: 24.06.2006
Сообщений: 143
|
Я не очень понимаю что вы имеете в виду под срабатыванием расширения. Пример я привел выше TSFE:applicationData|tx_ext_key - здесь доступ к атрибуту ->applicationData['tx_ext_key'] объекта TSFE.
Чтобы это работало проще всего ренедрить TS объект внутри самого плагина вручную вызывая cObjGetSingle() |
06.01.2010, 14:42 | #18 |
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] как его можно реализовать? |
06.01.2010, 15:20 | #19 | ||
Senior Member
Регистрация: 24.06.2006
Сообщений: 143
|
Цитата:
после парсинга шаблона ветка temp.* удаляется и соответственно плагин оттуда не вызовется Цитата:
и для пользовательских данных уже придумано место где их можно хранить и передавать (GLOBALS['TSFE']->applicationData) |
||
06.01.2010, 15:42 | #20 |
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 |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |