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

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 27.09.2009, 18:23   #1
javaPro
Продвинутый
 
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
По умолчанию Динамическая замена тега Body

Доброго времени суток!
У меня появилась надобность в динамической замене тега <body>.

К примеру на одной странице мне нужно что-бы тег был такой:
Код:
<body onload="function(1)">
А на другой странице что-бы был такой:
Код:
<body onload="function2(123)">
Как такое можно сделать через BE?

Зарание спасибо за помощь!
javaPro вне форума   Ответить с цитированием
Старый 27.09.2009, 20:59   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Не используйте onload="", используйте обработчик события DOMContentLoaded, как это делают любые js-фреймворки типа jQuery/mooTools/ExtJS.

Соответственно, задача сводится к вставке разного джаваскрипта на разных страницах. Что решается как-то так
[globalVar = TSFE:id = 15]
page.includeJS.something = /path/to/one.js
[else]
page.includeJS.something = /path/to/another.js
[end]
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 28.09.2009, 02:59   #3
javaPro
Продвинутый
 
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
По умолчанию

Цитата:
Сообщение от void Посмотреть сообщение
Не используйте onload="", используйте обработчик события DOMContentLoaded, как это делают любые js-фреймворки типа jQuery/mooTools/ExtJS.

Соответственно, задача сводится к вставке разного джаваскрипта на разных страницах. Что решается как-то так
[globalVar = TSFE:id = 15]
page.includeJS.something = /path/to/one.js
[else]
page.includeJS.something = /path/to/another.js
[end]
Спасибо за совет! Попробую!
А можно как-то это все прописывать в свойствах самой страници (в TSconfig), а не в шаблоне?

Вопрос другой (для общего знания): почему не использовать onload="" ?
javaPro вне форума   Ответить с цитированием
Старый 29.09.2009, 23:05   #4
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Вот если честно, то по-моему нельзя. pageTSconfig он немного для других вещей: настройки RTE там, например. С другой стороны, page TS config - это обычное текстовое поле в таблице pages, то есть может быть им можно воспользоваться, если ваш кастомный код какими-то маркерами пометить и через какой-нибудь парсер на userFunc прогнать.
Но мне кажется, что овчинка не стоит выделки, и лучше либо воспользоваться полем Media для указания используемых файлов, либо написать своё расширение и в нём добавить поле в pages. Или найти ещё какой-нибудь вариант (например, определять текущее местонахождение прямо из javascript-а и прописывать условия в нём).

Относительно onload есть два соображения.
Во-первых, onload вызывается сильно позже domcontentloaded, что не есть хорошо - ваши скрипты в общем случае должны отрабатывать как можно раньше. Во-вторых, писать javascript прямо в HTML не есть хорошо по идеологическим соображениям - смешивать структуру (HTML) и поведение (javascript). Все эти <a onclick="" или <body onload="" должны навешиваться самим javascript-ом
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка собственного тега внутрь тега <a></a> в меню lexun TypoScript практикум 7 11.04.2007 15:35


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


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

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