Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Добавление информации в шаблон сайта после <!Doctype> (http://forum.typo3.ru/showthread.php?t=10115)

Denis B 15.05.2012 18:15

Добавление информации в шаблон сайта после <!Doctype>
 
Друзья, здравствуйте.

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

Код:

<!--[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

Цитата:

Сообщение от -=UncleByte=- (Сообщение 33779)
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.


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

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