Темизация

Визуальная обработка вывода данных

Drupal: Как назначить один шаблон для нескольких полей

Например нужно поля field_price и field_count выводить с помощью шаблона field--clean.tpl.php:

function THEMENAME_preprocess_field(&$variables) {
static $clean_fields = array('field_price', 'field_count');
if (in_array($variables['element']['#field_name'], $clean_fields)) {
$variables['theme_hook_suggestions'][] = 'field__clean';
}
}

Drupal: Как подключить внешний js или css файл

drupal_add_js('http://example.com/scripts.js', array('type' => 'external'));
drupal_add_css('http://example.com/style.css', array('type' => 'external'));

Drupal: Добавление элементов в форму с помощью AJAX

Для примера создадим выпадающий список с цифрами от 1 до 4, при выборе значения в котором, ниже будет появляться выбранное количество чекбоксов. Ссылка не демо.

Код, комментарии ниже:

Drupal: Масштабирование изображений до фиксированных размеров с заполнением пустот определённым цветом

В Drupal 7 есть два вида масштабирования изображений (т.е. пропорционального изменения размера):

Drupal: Создание дополнительных настроек темы

У каждой темы есть страница с настройками, на которой можно изменить захардкоденные опции, такие например как — показывать лого/нет, показывать меню/нет и т.д.:

Чтобы добавить на эту страницу свои опции, нужно:

подробнее

Drupal: Как выводить определённый тип материала в другой теме

Например нужно, чтобы материалы типа help выводились с использованием админской темы Seven:

/**
* Implements hook_custom_theme()
*/
function mymodule_custom_theme() {
if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
$node = node_load(arg(1));
if ($node->type == 'help') {
return 'seven';
}
}
}

Перекрытие и изменение форм на сайте

Не секрет, что в Друпале огромное количество форм - логин, отправка контактов, создание материала и прочее. Друпал предоставляет возможности для разработчика в своей теме перекрыть любую форму на сайте.

Быстрый старт в темизации Drupal

7 мая в Беларуси прошёл Drupal Camp Belarus 2011, где я читал доклад по темизации. Хочу поделиться тем, что я рассказывал народу

Темизация breadcrumb

Способ ниже заменяет стандартный знак "»" на "›" (Или на любой на ваше усмотрение).

В template.php переписываем функцию phptemplate_breadcrumb($breadcrumb).

Drupal: Темизация полей в Drupal 7

Для темизации поля, нужно скопировать файл modules/field/theme/field.tpl.php в папку templates вашей темы и дать ему новое имя согласно одному из шаблонов:

  • field--FIELD_TYPE.tpl.php — шаблон будет применён ко всем полям типа FIELD_TYPE. Например, чтобы темизировать все поля типа Image, нужно создать шаблон с именем field--image.php.

RSS-материал