template.php

Drupal: Проверка орфографии при неудачном поиске

Люди очень часто опечатываются и часто опечатываются даже в словах из нескольких букв. Для поиска это критично, ведь не найдя что хотел, человек покинет сайт и возможно больше никогда на него не вернётся. У гугла например давно есть функция проверки орфографии:

Неплоха бы сделать такую же в друпале? Легко! =) Вот небольшой скрипт, который нужно поместить в template.php:

подробнее

Стандартные функции для создания темы

У каждого программиста, создающего шаблоны на друпал, есть свой каркас, на основе которого он создаёт последующие шаблоны. Это могут быть наброски в css, свои файлы .tpl, свой template.php, с которого удобно программисту начинать, и прочее. Сегодня я расскажу о некоторых функциях из template.php, с которыми мне очень удобно работать.

Функция, которой представилась честь открывать сегодняшную линию - функция обработки кнопок (навешивание дополнительного span-класса) для возможности создания закруглённых кнопок:

Удаление ссылки - “username’s blog” или Блог пользователя...

Как же удалить ссылку Блог пользователя такого то? Очень просто.

В template.php добавляем функцию:

<?php
function моятема_links($links, $attributes = array()) {
// Удаление ссылки на блог пользователя
if (isset($links['blog_usernames_blog'])) {
unset($links['blog_usernames_blog']);
}
return theme_links($links, $attributes);
}
?>

Осталось только сбросить кеш.

Исчезающий/появляющийся текст в форме поиска

Почти каждый сайт имеет поиск. И само собой, дизайн поиска бывает разный. Но довольно часто встречается такой вариант, когда в форме поиска стоит текст. Вот пример:

В друпале этот текст закидывается довольно просто с помощью след. функций в template.php:

Кнопка разной ширины с закруглёнными уголками

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

Выделение комментариев (аноним, автор статьи, админ)

Комментарии - довольно часто используемый модуль друпала. И хорошим тоном считается выделение комментариев анонимов, или автора статьи, или админа, или их всех сразу. Теперь о том как это сделать.

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

Чтобы это всё сделать, вставьте следуйщий код в template.php:

Заменить ссылку модуля flag на изображение

1. Скопировать файл flag.tpl.php в каталог с темой

2. В template.php добавить функцию:

<?php
function phptemplate_preprocess_flag(&$vars) {
  $image_file = path_to_theme() . '/images/flag-' . $vars['flag']->name . '-' . ($vars['action'] == 'flag' ? 'off' : 'on') . '.png';
// Раскомментировать при тестировании
// drupal_set_message("Поиск изображения '$image_file'...");
    $vars['link_text'] = '';
}?>

Загружать дефолтовые CSS стили только админу

Drupal грузит свои стили всегда, даже если они не нужны, я добавляю этот код в template.php и стили грузятся только для меня.

Изменяем страницу термина таксономии

В этой статье рассмотрим возможности изменения средствами API Drupal`а стандартного вывода списка материалов отдельно взятого термина таксономии. Говоря другими словами, той страницы, что отображается у нас по адресу: taxonomy/term/id-термина.

читать далее

Заполняем keywords терминами таксономии

Для добавления в meta name='keywords' терминов таксономии относящихся к каждой конкретной ноде нужно добавить в файл teplate.php следующий код:

RSS-материал