Онлайн заработок, создание и монетизация сайтов, веб-разработка, SEO и SMO продвижение, фриланс, партнерки, полезные сервисы вебмастерам, блоггинг.

Подключение файлов CSS и JavaScript в шаблон TYPO3

Подключение файлов CSSРад снова писать в TYPO3 блог, наконец-то нашлось для этого время. Хотя, по правде говоря, все это связано с небольшим заказом, который в данный момент выполняю. По ходу работы возникло много вопросов, о которых будут опубликованы статьи – некоторые из них простые, некоторые более сложные, но все окажутся полезными. Одним из преимуществ блоггинга является создания своего рода архива знаний – где в любое время можно найти нужную информацию в том числе и для себя. Со временем те или иные методы или элементы typoscript забываются, поэтому будет здорово быстро отыскать их на страницах данного проекта.

Но теперь сконцентрируем внимание на рассматриваемой проблеме. Каждый шаблон блога имеет в своей структуре ссылку на файл стилей CSS, иногда в коде встречаются подключения также и файлов JavaScript. При интеграции HTML шаблона в TYPO3 можно подключать их по-разному, предлагаю рассмотреть несколько методов.

1. Вообще, если я правильно помню теорию по в TemplaVoila при создании шаблона есть закладка Header Parts, где можно выбрать какие элементы раздела HEAD исходного HTML файла нужно сохранить в создаваемом шаблоне под TYPO3. Вот как это приблизительно выглядит:

подключение CSS и JavaScript в шаблон

Несколько первых сайтов я так и делал по данному принципу, описанному в руководстве, но потом нашел метод поинтереснее и лучше. Недостаток этого подхода в том, что при каждом изменении шаблона, нужно было отмечать или сохранять эти пункты в Header Parts.

2. Именно поэтому лучше всего определять ссылки на CSS и JavaScript в шаблоне TYPO3 (Template). Но и тут нет единого варианта:) С самого начала я использовал такой TypoScript:

page.headerData.20 = TEXT
page.headerData.20.value = <link href="css/reset.css" rel="stylesheet" type="text/css" />
page.headerData.21 = TEXT
page.headerData.21.value = <link href="css/style.css" rel="stylesheet" type="text/css" />
page.headerData.22 = TEXT
page.headerData.22.value = <script src="js/jquery_14.js"></script>

Таким образом, в область HEAD шаблона сайта вы подключаете нужные файлы. Фишка метода в том, что указываются эти все записи один раз в шаблоне Template, не нужно возиться с записью для каждого шаблона TemplaVoila.

В принципе, этот громоздки TypoScript код можно упростить:

page.headerData.20 = HTML
page.headerData.20.value (
<link href="css/reset.css" rel="stylesheet" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/jquery_14.js"></script>
)

3. В принципе, данный код может полностью вас устраивать, но для истинных поклонников TYPO3 и его TypoScript можно использовать еще один вид записи:

page.includeCSS {
 reset = {$templatepath}/css/reset.css
 style = {$templatepath}/css/style.css
}
page.includeJS >
page.includeJS {
 file1 = {$templatepath}/js/jquery_14.js
 file2 = {$templatepath}/js/jquery.tools.min.js
 file3 = {$templatepath}/js/corner.js
}

Здесь каждый файл подключается через указание его пути на FTP. Переменная templatepath задается в константах Conctants:

templatepath = fileadmin/new_templates

Кроме того, пришлось почему-то убрать значение page.includeJS по умолчанию перед определением файлов, так как в шаблон сайта при этом закрался какой-то «левый» файл JavaScript. Хотя, в принципе, в стандартном примере кода строки «page.includeJS >» вроде бы не видел – поэтому смотрите по ситуации.

Какой же из методов подключения файлов CSS и JavaScript в шаблон TYPO3 выбрать? Очень просто  — первый отпадает сразу. Если заказчику все равно, то можно особо не напрягаясь делать через метод номер 2. В случае, когда вы работаете как фрилансер и делаете TYPO3 сайт какой-то забугорной конторе, то можно блестнуть эрудициев и сделать по методу номер 3 в лучших традициях TypoScript.

04.08.10

Категории: TYPO3.

Теги: , , , ,

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

Ваш e-mail не публикуется. Обязательные поля помечены *
Если вы комментируете впервые, то текст будет отправлен на модерацию.