Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
05.03.2008, 22:30 | #1 |
Senior Member
|
eID-scripts и сессии FE-пользователей
Недавно писал расширение с использованием eID scripts и теперь хочу поделиться некоторыми мыслями.
1. Кратко о том, что это такое и зачем оно нужно. Часто не требуется грузить весь фронтенд TYPO3, а достаточно небольшой его части. Например, нужно показать картинку или вернуть ответ на ajax-запрос. В этом случаем можно прописать в файле ext_localconf.php своего расширения нечто такое: PHP код:
Мы только что определили eID скрипт с ключевым словом 'something_cool'. Это ключевое слово должно быть уникальным в пределах инсталляции, поэтому лучше использовать название своего расширения (возможно с префиксами или постфиксами). 2. Как это работает Вся инициализация TYPO3 начинается с выполнения файла index_ts.php, который лежит в typo3/sysext/cms/tslib/. (Кстати, рекомендую просмотреть его тем, кто желает таки узнать, как работает схема рендеринга фронтэнда). Сразу после совсем базовой инициализации и различных проверок, но до создания глобального объекта TSFE можно увидеть вот такой кусок кода: PHP код:
Для проверки напишем в нашем ajax.php что-то вроде PHP код:
3. Про сессии Итак, получить данные из сессии анонимного пользователя можно примерно так: PHP код:
После получаса бегания по исходникам тайпы, я нашел решение. Примерно вот такое: PHP код:
P.S. Стоит ли писать иногда такие вот посты о хитростях программирования расширений? Я бы попросил всех, кому такие вещи интересны, написать об этом в комментариях =)
__________________
TYPO3 FAQ Последний раз редактировалось void; 05.03.2008 в 22:48 |
06.03.2008, 01:54 | #2 |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
Однозначно стоит писать! Тема про eID очень нужна.
Я бы только добавил еще где можно найти доп информацию в оригинале (то, что вы уже писали отвечая на мои вопросы). У меня с помощью eID получилось сделать отображение имени пользователя на всех страницах сайта и при этом все объекты страницы кешируемые, что дает значительный прирост производительности. |
06.03.2008, 12:33 | #3 |
Senior Member
|
1++! (Согласен с demav: Однозначно стоит писать!)
|
19.03.2008, 19:55 | #4 |
Продвинутый
|
Да, полностью согласен с marco и demav-ом!
__________________
http://michaelleibenson.org.ua |
22.08.2008, 01:36 | #5 |
Новенький
Регистрация: 30.01.2008
Сообщений: 27
|
Hello,
I am trying to output simple picture in eID. PHP код:
Fatal error: Call to a member function getFileName() on a non-object in /home/webadmin/typo3_src-4.1.6/typo3/sysext/cms/tslib/class.tslib_content.php on line 4701 Has anybody succeed in outputing an image $myCObj->IMAGE i eID? By the way, in the plugin pi1 php $GLOBALS['TSFE']->cObj->IMAGE($imsTS); works well. |
22.08.2008, 15:13 | #6 | |
Senior Member
|
eID mode does not have any FE classes. Thus using of such functions not possible.
What Dmitry Dulepov write day ago in mail list: Цитата:
|
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Синхронизация пользователей typo3 с Аctiv Directory | margol | Общие вопросы | 0 | 09.01.2008 16:01 |
Сессии в Typo3 | Semyon | Общие вопросы | 4 | 22.12.2005 01:18 |