понедельник, 9 мая 2011 г.

Присваиваем ID и CLASS для тега BODY на странице TYPO3

Зачастую у верстальщика или разработчика сайта возникает необходимость присвоить тегу BODY какой-нибудь class и(или) id.
Чтобы сделать это в TYPO3, лично меня спасает следующий TypoScript код:

page.bodyTag >
page.bodyTagCObject = COA
page.bodyTagCObject {
5 = TEXT
5.value = <body
10 = TEXT
10.field = uid
10.noTrimWrap = | id="page_|" |
20 = TEXT
20.field = alias
20.noTrimWrap = | class="|"|
20.required = 1
25 = TEXT
25.value = >
}

Что мы получаем на выходе? А получаем два варианта тега body:
1. <body id="page_ID"> - когда странице не задан алиас
2. <body id="page_ID" class="page-alias"> - когда странице задан алиас

Как видно из скрипта, в качестве id страницы используется поле uid, а в качестве ее класса - поле alias. Имена полей всегда можно изменить для собственных нужд.

А иногда бывает необходимость одним страницам сайта иметь один фон, а остальным - другой фон. Как быть в таком случае? Можно немного доработать последний скрипт и воспользоваться свойством "Шаблон страницы/Frontend Layout", который будет служить переключателем фона.



page.bodyTag >
page.bodyTagCObject = COA
page.bodyTagCObject {
10 = TEXT
10.field = uid
10.noTrimWrap = | id="page_|" |
20 = TEXT
20.field = alias
#20.required = 1
wrap = <body |>
}
[globalVar=TSFE:page|layout=1]
page.bodyTagCObject.20.noTrimWrap = | class="gray-bg |"|
[else]
page.bodyTagCObject.20.noTrimWrap = | class="white-bg |"|
[global]

В результате, при выборе шаблона страницы - Макет 1, в теге body данной страницы мы получим класс - "gray-bg", в противном случае каждая страница сайта будет иметь класс - "white-bg".

Для того, чтобы в админке при смене шаблона страницы мы видели человеческие надписи, а не  магические - Стандартный, Макет1.... и т.д., можно в свойствах корневой страницы сайта добавить несколько строк typoscript кода:

TCEFORM.pages { 
layout.altLabels.1 = Gray background 
layout.altLabels.0 = White background 
}


В результате получим следующее:


Надеюсь, что материал окажется полезным для тайпо-голиков.

О себе

Моя фотография
Вадим Гиркало
Фрилансер, веб-разработчик сайтов на базе бесплатной, мощнейшей и очень гибкой CMS системы - TYPO3.
Просмотреть профиль

Позвонить мне в Skype

TOP - 3