Уроки

УрокПодключение CSS для отдельных браузеров

Как известно, не все браузеры одинаково воспринимают файлы стилей css. В основном, проблемы возникают со старыми версиями мелкософтовского творения Internet Explorer (7 версия и ниже). Кстати, если проблема возникает в современных браузерах (наподобие Opera, Mozilla Firefox, Chrome), то я настоятельно рекомендую пересмотреть вёрстку страницы.

Так вот. Проблема с браузерами есть. И я знаю как минимум три способа решения этой проблемы.

УрокRDFa и плюшки

Давно я не писал - уж месяц как. Поэтому решил начать с чего-то дейсвительного интересного и актуального. И этим интересным стала тема RDFa (Resource Description Framework – in – attributes). По большому счёту, RDFa - это расширение к XHTML, позволяющее грамотно располагать метаданные в вебе. На данном этапе жизни этот формат используется Google'ом для улучшенного распознавания содержимого страниц.

Смысл в RDFa: поисковик заходит на страницу в вебе, вытягивает её содержимое, и если на ней обнаружены специальные тэги, то он добавляет их к выдаче сайта. Пример работы можно посмотреть на картинке:

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

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

Краткое введение

Тема сайта – это лицо сайта. Пользователю достаточно нескольких секунд чтобы оценить сайт, понять, нравится он ему или нет. Безусловно, каждый сайт выделяется в первую очередь своим функционалом – сайт никогда не получит большую популярность, имея невероятно красивый дизайн, но бесполезный по своей сути. Однако речь пойдёт именно о темизации, о создании красивого и удобного сайта для пользователя.

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

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

Лично мне знание о перекрытии форм неоднократно облегчало работу, ибо зачастую в техническом задании сайта (или дизайне) есть мелочи, которые сделать просто необходимо, но не всегда знаешь как это сделать. А сделать это очень просто - сначала мы указываем в template.php, что форма будем перекрыта - а потом пишем функцию, которая изменяет её. Теперь о том, как это сделать на практике.

УрокКак обновить jQuery в Drupal на более позднюю версию

Вам нравятся сайты, которые содержат в себе красивые слайдшоу, раскрывающиеся менюшки, в меру динамичные плюшки? Конечно, кто ж не любит. С этим очень успешно справляется javascript, в частности его библиотека jQuery. Она создана чтобы упростить разработчикам жизнь при работе со скриптами. В ней имеется огромный набор полезных функций, благодаря которым в несколько строк можно написать поразительные вещи. Более того, имеется огромное количество уже готовых решений, подключив которые можно практически без знаний js получить желаемый результат в виде довольно неплохих визуальных эффектов.

По умолчанию Drupal 6 содержит в своём ядре библиотеку jQuery версии 1.2.6 (Drupal 7 - jQuery 1.4.4). Я предлагаю 2 варианта решения этой проблемы:

Вариант 1. Включение модуля jQuery Update.

УрокВывод ошибок PHP на экран

При работе с сайтом каждый разработчик сталкивался с ситуацией, когда при включении модуля, добавления своего кода или другого изменения на сайте, возникал так называемый WHITE SCREEN OF DEATH (белый экран смерти), который обычно вызван ошибкой PHP. Первое действие разработчика, естественно, откатить изменения, повлёкшие за собой эту ошибку. Но ведь ошибку-то исправлять надо, а значит, надо посмотреть что именно является причиной её возникновения.

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

УрокКак программно изменять информацию в ноде

Содержимое ноды можно менять программно при реализации в своём модуле хука hook_nodeapi (для Drupal 6) или хуков nodeapi (для Drupal 7). Для этого сначала надо создать info-файл модуля (mymodule.info) и поместить его в папку sites/all/modules/mymodule.

Для Drupal 6:

Страницы