Темизация

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

"Умное" раскрывающееся вертикальное меню на jquery за 2 минуты

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

Допустим, у нас есть такое праймари меню:

Написать табы (закладки) собственноручно? Легко!

Одним из лучших способов экономить место на сайте являются табы. Это простой переключатель контента, который одновременно нетруден в создании - и удобен в использовании. Для этой возможности можно использовать связку модулей views + quick tabs. Однако некоторых этот результать может не устроить из-за того, что вьюзы нагружает сайт. Да и лишний код, как всегда, не потворствует SEO оптимизации.

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

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

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

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

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

Темизация поля Body (Содержание) ноды

Одно из неудобств с которым столкнулся еще вначале знакомства с Drupal, что ни в одной встречавшейся мне теме поле "Содержание" не обернуто в div. Более чем странно, так как при наличии полей CCK это крайне не удобно. Вообщем то два года я как-то обходился и без обертки для "Содержания". Но на днях, разрабатывая очередной сайт, опять наткнулся на эту проблему. Начал разбираться, и выясняется, что проблема за это время так и осталась.

Темизация node-custom.tpl.php

Сегодня я расскажу вам как переопределять вывод нод определенного типа материала без модуля contemplate. Как обычно создаем тип материала с помощью CCK, например - mytype, затем создаем файл шаблона node-mytype.tpl.php, копируем код из файла node.tpl.php, который лежит по адресу /modules/node/node.tpl.php. Теперь в нашем файле node-mytype.tpl.php мы можем вносить изменения. Но что делать если нас не устраивает вывод определенных CCK полей или, например, мы хотим вывести все данные в одной таблице? - все просто!

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

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

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

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

2 background images css

Всем доброе утро! :) Недавно у меня возникла необходимость в использовании 2х фоновых изображений (2 background images) для тега <body>. Потратив на поиски рабочего решения пол дня - я всетаки нашел его! Итак вот оно:

html {

        background:#000 url(img/body-bottom.png) no-repeat 53% 98%;

}



body {

        background:url(img/body-top.png) no-repeat center top;

}

read more

Меню с анимацией

Всегда хочется своё основное меню как-нибудь украсить. Кто-то делает его выпадающим, иногда раздвигающимся. Кто-то навешивает на него разных красивых картинок. Я вот решил прикрутить к меню красивый скрипт, который видели немногие. А так как меню многим нравится, я решил рассказать как его сделать. Темболее что оно абсолютно кроссбраузерно.

Темизация drupal_login_block

Темизация формы входа... Добавьте следующий код в template.php:

<?php

/**

* This snippet will register a theme implementation of the user login form.

*

* Drupal 6.x only!

* Replace 'mytheme' with the name of your theme.

*/

function MYTHEME_theme(){

  return array(

    'user_login_block' => array(

      'template' => 'user-login-block',

      'arguments' => array('form' => NULL),

    )

  );

}

?>

RSS-материал