Вход

Просмотр полной версии : Добавление информации в шаблон сайта после <!Doctype>


Denis B
15.05.2012, 18:15
Друзья, здравствуйте.

Возникла необходимость добавить вот такой код в начало всех страниц сайта (в шаблон):

<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en"> <!--<![endif]-->

Прочитал про такой способ:

page.headerData.5 = HTML
page.headerData.5.value (
тут нужный нам код


НО! Эта фишка добавляет нужную информацию после всего, в раздел <head>. А мне нужно непосредственно сразу после доктайпа, иначе хаки для IE не сработают, сами понимаете.

Есть идеи?

-=UncleByte=-
15.05.2012, 21:30
C версии 4.7 есть config.htmlTag_stdWrap - можно обернуть во что угодно.

Denis B
16.05.2012, 05:56
C версии 4.7 есть config.htmlTag_stdWrap - можно обернуть во что угодно.

Спасибо, сработало. Только кода больно уж много, вот такой вариант нашёл:

config {
doctype = html5
htmlTag_stdWrap {
setContentToCurrent = 1
cObject = COA
cObject {
10 = LOAD_REGISTER
10 {
newLine.char = 10
tagEnd {
current = 1
split.max = 2
split.token = <html
split.returnKey = 1
}
}
20 = TEXT
20.value = <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
20.wrap = |{register:newLine}
20.insertData = 1
30 < .20
30.value = <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
40 < .20
40.value = <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
50 < .20
50.value = <!--[if gt IE 8]><!--><html class="no-js" lang="en"><!--<![endif]-->

90 = RESTORE_REGISTER
}
}
}

А как до 4.7 это делали?

-=UncleByte=-
16.05.2012, 06:25
Честно говоря я первый раз сталкиваюсь с необходимостью прописывать класс для html тега и тем более conditional comments для него. До 4.7, скорее всего, использовали disableAllHeaderCode и дальше писали что-то свое. Или же, что логичнее, использовали conditions по user-agent и вставляли классы при помощи htmlTag_setParams.
В принципе в TSRef описано практически все, что можно сделать при помощи TypoScript, и какие-то возможно не очевидные вещи расписаны на wiki.typo3.org.