Уроки

УрокНеобходимые файлы для создания шаблона. Comment.tpl.php

Если вы собираетесь на сайте добавить комментарии к материалам, то этот файл вам будет необходим, т.к. стандартный файл модуля comment вряд ли подойдёт ко многим макетам, и вам придётся вешать на комментарии дополнительные классы, чтобы можно было воплотить в жизнь задумку дизайнера.

Вот как предлагает строить комментарии модуль comment:

УрокНеобходимые файлы для создания шаблона. Node.tpl.php

Теперь мы поговорим о таком файле как node.tpl.php. Очень полезный файлик. Он является шаблоном для вывода всех типов материалов. Полезен для каждого сайта, так как всегда надо переписать стандартный вывод статей - иногда ссылки убрать, или, например, показывать тэги только в полной версии материала, а в сокращённой(тизере) не выводить.

Вот как строится материал по стандартному шаблону:

УрокНеобходимые файлы для создания шаблона. Box.tpl.php

Пожалуй, последним из файлов, которые должны обязательно присутствовать в теме является файл box.tpl.php. О нём я рассказываю в последнюю очередь не случайно - он действительно менее важен, чем все предыдущие файлы. Лично я делал лишь несколько шаблонов для друпала, в котором мне приходилось его менять. Однако знать об этом файле вы просто обязаны.

box.tpl.php описывает шаблон создания для немногих элементов сайта. Одним из таких элементов является форма комментирования. Однако тут не получится особо гибко настраивать этот шаблон, так как он состоит всего из двух переменных - заголовок и содержимое:

<div class="box">
 
<?php if (&title): ?>
    <h2><?php print $title; ?></h2>
<?php endif; ?>
 
<div class="content">
    <?php print $content; ?>
</div>
 
</div>

УрокОстальные файлы.tpl.php

Настало время поговорить о том, как создать шаблон любой страницы. Может, вам когда-нибудь придётся делать такой сайт, в котором, например, конкретная страница должна содержать дополнительные поля, или подключать скрипты (не засовывать же их в шаблоны всех страниц из-за одной страницы!), или ещё что-нибудь. Потребностей много, а реализация далеко не для всех является очевидной.

УрокКак перекрывать вывод полей модуля CCK

Модуль, который используется на 95% сайтах друпала - это CCK (content constructor kit). Без него друпал не достиг бы такой мощи, которой он смог достичь. К списку таких модулей также относится Views. Можно перечислить ещё несколько модулей, но на мой взгляд - именно эти составляют основу друпала.

А раз ССК такой популярный, то было бы совсем неплохо научиться работать с ним не только через админку сайта, но и через свою тему.

Первым делом в корень папки с темой надо закинуть файл content-field.tpl.php из модуля ССК (cck\theme\content-field.tpl.php). Потом скопировать его в эту же папку, но назвать по принципу content-field-имя_сск_поля. Имя этого поля в друпале вы задаёте при создании его в своём типе материала.

Таким образом, в корне вашей темы должен лежать файл content-field.tpl.php и content-field-имя_сск_поля.tpl.php.

УрокПример перекрытия шаблона CCK

В прошлом уроке я обещал показать пример, как можно перекрывать шаблоны ССК полей. А раз обещал - значит вынь да полож.

Пример

Надо к статье добавить поле, которое будет выводить неограниченное количество картинок с их описанием, введённое в поле "описание (description)".
По умолчанию это поле не выводится, поэтому надо лезть в шаблон и дописывать его вывод. Заодно уменьшить количество лишних классов, мало ли, для seo пригодится ;) Итак, поехали по порядку.

УрокСпособы закругления уголков. 1 способ.

Закругленные углы - одна из любимейших "фишек" дизайнеров в современном интернете. Есть множество вариантов их реализации, простых и не очень. Например, такой всем известный браузер FireFox поддерживает специфическое решение: -moz-border-radius. Достаточно указать для контейнера его значение 10px - и углы закруглены! Однако полезность данного метода сомнительна, ибо пригоден он только для FF. Просмотрев эту же страницу в другом браузере, например в Opera, мы увидим что никаких закругленных уголков нет.

Ну а теперь перейдём к более кроссбраузерному решению. Оно действительно самое кроссбраузерное, так как используется только картинка для фона и дополнительные контейнеры.

Страницы