Пример модуля, использующего jQuery UI autocomplete для дополнения в текстовом поле.

Теги: 

В этой статье расскажу, как я делал всплывающую форму заказа обратного звонка на webform.

Теги: 

Возникла как-то необходимость отправлять данные webform на разные адреса, в зависимости от выбора отдела в выпадающем списке. Ну нет проблем.

Теги: 

Недавно мне довелось дорабатывать сайт на DLE, который, как известно, целиком от базы данных до кода в кодировке cp1251 (шел 21й век, ага). Открываю я значит его шаблон в phpstorm... Ну да, сплошные кракозябры.

Теги: 

Drupal API offline

16 May, 2014

Время от времени мне бывает нужен доступ к документации api друпала при отсутствии инета. Пошарившись в гугле, я набрел на проект DrupalAPI.

Скачиваем модуль Facet API, кидаем в директорию модулей, и списке модулей находим два новых пункта: собственно Facet API и Current Search Blocks. Последний создает блок с со списком активных фильтров и ссылки для их отмены. Включаем оба, а также модуль Search facets для интеграции ранее настроенного поиска и facet API.

На многих сайтах присутствует версия страниц для печати, доступная по отдельному адресу, в некоторых CMS'ках функционал генерации таких страниц даже присутствует 'из коробки' (только не в drupal, к нему, впрочем, есть какие-то модули на данную тему). Хотя чтобы страничка адекватно распечаталась, достаточно добавить немного css-правил, и совсем не обязательно мудрить с отдельными версиями страниц.

Таблицу стилей для печати можно подключить как отдельным файлом:

Бывает, выполнение регулярных процедур cron заканчивается неудачно, причиной тому может быть ошибка в каком-то модуле или превышение времени исполнения скрипта, после чего повторно cron уже не стартует, отмазываясь сообщениями типа 'Попытка перезапуска cron в то время, когда он уже запущен' или чем-то подобным.

Для решения проблемы надо удалить переменную 'cron_semaphore' в таблице 'variable', выполнив запрос в phpmyadmin

Теги: 

В случае использования на сайте html5 видео сделать его "резиновым" не составляет труда, достаточно добавить правило css:

video {
  max-width: 100%;
  height: auto;
}

Видeo с Youtube вставляется на сайт в контейнере iframe, который с удовольствием изменяет ширину (при указании ему max-width: 100), но отказывается менять высоту, т.е. пропорции видео оказываются искажены.

В друпале есть удобная функция db_set_active(), которая позволяет работать одновременно с несколькими базами. Но перед ее использованием необходимо подключить все нeобходимое в файле /sites/default/settings.php:

Теги: 

Чтобы дополнительные страницы листинга не попадали в индекс поисковика, но при этом поисковый робот проходил по ссылкам с этих страниц, я добавляю в head следующий тег:

<meta name="robots" content="noindex, follow">

А в случае с друпалом помещаю в template.php темы такую функцию:

Теги: 

В этой статье я покажу, как с помощью своего модуля можно добавить новый тип поля. Модуль будет называется Contact Field и позволит добавлять к ноде адрес, телефон, email и адрес сайта. Вывод будет двух типов: обычный текст и ссылки: значение с адресом будет вести на поиск в яндекс-картах, поле с сайтом на сайт (логично :), а для ссылок с емейлом и телефоном будут добавлены атрибуты 'mailto' и 'tel' соответственно. Также я покажу, как сделать проверку корректности вводимых значений.

Вход по e-mail, Отображение пароля, Ajax проверка свободного имени и логин через социальные сети.