Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
20.06.2007, 12:54 | #1 |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
Порядок обработки TS - объекты USER
Уважаемые, в доках пишется, что TS обрабатывается последовательно по строкам.
Но так ли это применительно к объектам USER? Код:
lib.test1 = USER lib.test1 { userFunc = user_view->test1 } lib.test2 = USER lib.test2 { userFunc = user_view->test2 } test2 отрабатывает первым. Хочется понять как такое может быть и почему? ps Оба определения не обязательно в одном конфиги, могут последовательно подгружаться файлы .ts Заранее спасибо за помощь. |
20.06.2007, 14:31 | #2 |
Senior Member
|
TS обрабатывается не в порялке написания, а в порядке подключения в рендеринге.
если lib.test2 подключен на странице "выше" чем lib.test1, то он будет обработан первым |
20.06.2007, 15:22 | #3 |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
Спасибо, так оно и есть.
Хотя для TV столкнулся с несколько иным поведением - порядок обработки соответствует порядку в DS, а не в TS. Последний раз редактировалось c0d3r; 04.07.2007 в 11:35 |
29.08.2007, 15:39 | #4 |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
Возвращаясь к напечатанному. Всё-таки столкнулся с непонятным
Есть блок контента и пейджеры вверху и внизу. Вот как это прописано в DS: ... mainContent mainTopPager mainBottomPager ... Вот как это прописано в TS setup: Код:
lib.mainContent = USER_INT lib.mainContent { userFunc = user_view->mainContent } // пейджеры нужны только на определённых страницах [PIDinRootline = {$PAGE_ID1}] [PIDinRootline = {$PAGE_ID2}] ... lib.mainTopPager = USER_INT lib.mainTopPager { userFunc = user_view->mainPager } lib.mainBottomPager = USER_INT lib.mainBottomPager { userFunc = user_view->mainPager } [GLOBAL] tx_templavoila_pi1->processdatavalues: field_maincontent tx_templavoila_pi1->processdatavalues: field_maintoppager tx_templavoila_pi1->processdatavalues: field_mainbottompager Но если вставить отладочные эхи в оба метода, то получается, что mainPager отрабатывает раньше, чем mainContent. Кто-нибудь сталкивался с таким? Мне важно, чтобы mainContent отрабатывался раньше mainPager. Ещё вопрос можно ли второму, нижнему пейджеру, передать контент ($content) из первого, верхнего с помощью TS? Сейчас там тупо через PHP static свойство... Заранее благодарю за любую помощь! |
29.08.2007, 16:54 | #5 |
Senior Member
|
А почему бы не сделать так:
Код:
lib.mainContent = USER_INT lib.mainContent { userFunc = user_view->justMain whoiam = content } // пейджеры нужны только на определённых страницах [PIDinRootline = {$PAGE_ID1}] [PIDinRootline = {$PAGE_ID2}] ... lib.mainTopPager = USER_INT lib.mainTopPager { userFunc = user_view->justMain whoiam = pagerTop } lib.mainBottomPager = USER_INT lib.mainBottomPager { userFunc = user_view->justMain whoiam = pagerBottom } [GLOBAL] PHP код:
__________________
TYPO3 FAQ Последний раз редактировалось void; 29.08.2007 в 17:11 |
29.08.2007, 17:06 | #6 | |
Senior Member
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
|
Большое спасибо за пример, это реальная помощь. Можно сделать и так. Я уже подумал, что можно объединить в одну функцию, правда, тогда придётся немного перемапить страницу, ну что ж, можно и перемапить ради результата
А по поводу второго вопроса есть опыт? Чисто для багажа знаний, там ещё не вагон и тележка. Цитата:
|
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многократная инициализация user_ объектов PHP | c0d3r | Общие вопросы | 9 | 17.06.2007 11:42 |
проблемы с FE User Registration | MDG | Общие вопросы | 1 | 22.08.2006 16:26 |
Новое решение для user list archive | Valery Romanchev | Новости TYPO3-разработки | 0 | 27.03.2006 04:51 |