TypoScript условие на Internet Explorer

Иногда при создании шаблона сайта возникает необходимость задания определенных свойств элементов для каждого отдельного браузера. Ну для каждого – это я конечно погорячился. Скажем так: «отдельно для браузеров и отдельно для интернет эксплорера 6-7″.

Конечно, можно воспользоваться условными комментариями, java скриптом, css important, но бывают случаи когда проще и удобней заложить логику еще на уровне формирования HTML -данных.

Typo3 позволяет задать определенные условия при формировании шаблона. Сейчас рассмотрим самое простое средство – conditions (условия). Подробно conditions описаны в tsRef, там можно возможные значения и примеры, я прокомментирую лишь то что касается условия на браузер, ведь речь именно об этом.

Итак условие такого рода выглядит следующим образом:

[переменная = значение]
действия в случае истинности выражения
[end]

Замечательно то, что условия можно соединять логическими операциями AND (&&) и OR (||)

[переменная = значение] && [переменная2 = значение2] || [переменная3 = значение3]
действия в случае истинности выражения
[end]

В нашем случае переменной будет браузер (browser), значение в случае интернет эксплорера будет равно «msie». Так же необходимо контролировать версию браузера, для этого используем переменную version. В результате получаем такое вот условие:

[browser = msie] || [version < 8]
браузер – интернет эксплорер с версией ниже 8
[end]

Вот и все. Думаю стоит добавить, что благодаря conditions, мы можем контролировать многие пользовательские «переменные», например, операционную систему, тип устройства, значение user agent, язык, ip-адрес. Так же благодаря этим условиям, вы можете контролировать множество внутренних переменных системы, таких как текущее время, дата, уровень страницы в дереве, идентификатор страницы и т.п.

Добавить комментарий