drupal 6

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

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

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

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

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

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

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

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

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

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

БлогВиджет твиттер профайла

Виджет твиттер профиля

Почти вчера был нужен модуль для одного сайта по твиттер профилям. Нашёл то что надо вот тут http://twitter.com/about/resources/widgets/widget_profile. Прикольная штука как оказалось, визуальные эффекты забавные. Можно было тупо засунуть скриптину в блок и радоваться жизни, но по привычке решил уже сделать модуль - и меня каждый раз заказчики дёргать не будут для настроек, и народу приятно :) Настроек куча, с ним можно делать почти всё что угодно - менять цвета, количество твитов, поведение, ширину и высоту, и прочее.

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

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

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

УрокИндивидуальные настройки шаблона (темы)

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

Мне кажется, самым лучшем решением в данном случае будет показать пример интеграции своих настроек. Давайте же его и рассмотрим.

Пример своих настроек темы

Дадим пользователю возможность выбирать ширину контента - фиксированную или резину. А так же возможность включения / отключения левой и правой колонки. То есть пользователь в 3 клика может превратить двухколоночный резиновый шаблон в трёхколоночный фиксированный. Удобно, правда? Теперь к реализации.

Для начала создадим файл theme-setings.php и добавим туда такой код:

<?php
 
function phptemplate_settings($saved_settings) {
 
  // Задаём значения по умолчаю.
  // Наша тема по умолчанию будет иметь фиксированной дизайн

УрокPop-up логин при помощи javascript

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

Как это сделать в теории:

  • запихиваем блок логина в какой-нибудь div
  • скрываем этот div через css (display:none;)
  • создаём кнопку/ссылку с надписью ВХОД
  • вешаем скрипт, который при нажатии на кнопку ВХОД показывает/прячет div с блоком логина

А теперь к практике:

Напишем в template.php функцию, которая будет показывать анонимам кнопки ВХОД и РЕГИСТРАЦИЯ, а зарегистрированным - ПРОФИЛЬ и ВЫХОД (а заодно и блок логина обернём в div):

  function custom_login() {
 
  $output = '<div id = "custom_login">'; //оборачиваем наш код в дополнительный div
  global $user;
 
 
  if ($user->uid) {
    //если пользователь авторизовался, то

УрокКак из http://www.имяСайта сделать переадресацию на http://имяСайта или наоборот

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

Находим в корневом каталоге файл .htacces и открываем его в любом блокноте. Для того, чтобы сайт открывался только с www, надо в конец файла, перед добавить следующее:

Страницы