понедельник, 9 мая 2011 г.
Присваиваем ID и CLASS для тега BODY на странице TYPO3
10:27 |
Автор:
Вадим Гиркало |
Изменить сообщение
Зачастую у верстальщика или разработчика сайта возникает необходимость присвоить тегу 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]
Чтобы сделать это в 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
}
В результате получим следующее:
Надеюсь, что материал окажется полезным для тайпо-голиков.
Подписаться на:
Комментарии к сообщению (Atom)
О себе
- Вадим Гиркало
- Фрилансер, веб-разработчик сайтов на базе бесплатной, мощнейшей и очень гибкой CMS системы - TYPO3.
Мой сайт
Позвонить мне в Skype
TOP - 3
-
Как я уже писал в одной своей заметке ( SEO и общие рекомендации ), для сайта очень важно, чтобы при обращении к заведомо несуществующей ст...
-
Дорабатывая очередной свой сайт столкнулся с такой проблемкой. В шапке сайта есть две флэш вставки - банер, который вставлен через конструкц...
-
Несмотря на то, что материала по данной тематике вроде бы и достаточно, но весь он носит кусочно-латочно-разрозненный характер, что мешает б...
1 коммент.:
Я так понимаю что в принципе можно использовать для переключения допустим с 2-3-х колоночного шаблона на 1 колоночный?
Отправить комментарий