Статьи о Drupal

Ко мне периодически приходят клиенты, у которых есть Друпал-сайт, но он очень медленно работает или даёт высокую нагрузку на базу данных. Многие из таких клиентов думают, что проблема в самом Друпале, и мечутся в выборе "переделать весь сайт на другой цмс типа Битрикса" или заказать всё-таки оптимизацию сайта. Чаще всего заказывают оптимизацию, потому что это дешевле, и оказываются абсолютно правы - проблема не в Друпале, а в разработчиках, которые этот Друпал настраивают.
Одно и то же действие в Друпале можно сделать несколькими путями. При этом разработчики зачастую выбирают самый...

Причины

Я решил использовать зарубежный хостинг http://greengeeks.com для хостинга всех моих файлов на drupal'e, и вот почему: за 212 рублей в месяц (при оплате на год) я получаю практически выделенный сервер, который отличается только тем, что стоит ограничение на 20% процессорного времени и 1024 Мб оперативки. Для моих не супер посещаемых сайтов - самое то. Дело в том, что каждый сайт по мере использования требует всё больше дискового пространства - потому что заливаются фото, активно используется imagecache, просто растет база данных из-за...

Список статей по настройке любой IDE под Drupal находится здесь.
Самое интересное, что я понял, настраивая PhpStorm - оказывается все цветовые схемы в любых IDE меня раздражали именно потому, что подсветка строковых переменных (String) всегда делают почему-то яркого цвета (например, зелёный). Это глупо! Потому что в коде на Друпал строковых переменных очень много, из-за этого код становится ужасно аляпистый. Необходимо поставить серый цвет (например, #888). Это по умолчанию было сделано в Notepad++, и я никак не мог понять, что же мне в...

На хостинге it-patrol.ru git уже установлен, но его надо удобно настроить и идентифицировать себя для нормальной разработки и участия в жизни drupal-сообщества.
Пошагово это описано здесь: https://drupal.org/documentation/git/configure
Вкратце:

nano ~/.gitconfig
[core]...

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

Responsive Web Design
Этот подход представляет из себя оптимизацию вёрстки сайта и создание резинового макета, который адекватно подстраивается под разные размеры экранов.
Основной приём - разделение экрана на блоки определённой ширины, которые при...

Для того, чтобы корректно подготовить сайт на Друпале к SEO-продвижению, нужно проделать следущие действия:
1. Установить модуль Metatag
Нужно использовать именно его, потому что он поддерживает токены, и поэтому не будет необходимости вводить каждый тег на каждой странице вручную
После установки надо зайти в настройки модуля и выставить шаблоны.
2. В последнее время все SEO-шники просят меня дать возможность отдельно выставлять h1 титл страницы независимо от Заголовка ноды, page title и других данных.
Пока что...

Судя по issue здесь модуль field_slideshow уже произвел работу под возможность адаптации вывода для мобильных устройств. Однако "из коробки" у меня это не работало.
Решением оказалось всего лишь несколько строчек css кода:

div.field-slideshow-slide {
display: inline-block; 
text-align: ...

Для того, чтобы настроить морфологический поиск в Drupal'е, достаточно воспользоваться этой статьей за авторством уважаемого xandeadx.
Однако в ней не описано, как в поисковой индекс включить комментарии - если сделать всё как в статье, поиск будет производиться только по содержимому нод.
Сделать поиск по комментариям довольно просто: для этого надо создать новый индекс на странице Search Api /admin/config/search/search_api, в котором вместо сущности "...

К сожалению, сущность entityform не является нормальной нодой, соответсвенно её вывод нельзя переопределить как обычно через node--entityform.tpl.php
Для того, чтобы справиться с этой задачей, надо прописать:
В template.php:

function THEMENAME_theme($existing, $type, $theme, $path...

Постоянно в работе сталкиваюсь с проблемой необходимости вывода своей формы, которую создал в своем модуле, во всплывающем окне.
На текущий момент есть несколько модулей для отображения форм во всплывающем окне, такие как popups, modal_form, colorbox, lightbox2, но они все заточены под конкретные стандартные формы друпала (такие как форма логина или регистрации), или же под модуль webform (чем я, собственно, и обходился в прошлых проектах).
На самом деле нам не нужны никакие лишние модули.
Весь нужный функционал есть в модуле ctools, который и так всегда стоит на всех...

Для того, чтобы подставть значение по умолчанию в какое-то из полей формы Entityform (d7 замены webform), нужно использовать модуль Prepopulate
Устанавливаем его, создаем свою entityform type, добавляем туда любое поле.
Затем заходим на эту форму (в списке созданных entityform есть ссылка submission link).
Открываем код страницы и смотрим тег name у нужного нам поля:
2_1.jpg
в моем примере это ...

С модулем Select2 произошла беда - первый, кто заапрувил свой проект под таким названием, видимо, потерял к нему свой интерес, и даже не залил кода, не говоря уже о передаче прав на разработку модуля кому-то другому.
Позже появилось несколько sandbox-проектов по интеграции этой библиотеки в друпал, но у каждого из них есть свои недостатки.
Самый адекватный из них на данный момент: https://drupal.org/sandbox/agpsoftdev/...

Я работаю с Drupal, и если вы не разработчик проекта, но всё же хотите ему помочь, то это делается в виде патчей - нужно скачать актуальную версию модуля через git, исправить его код так, как считаешь нужным, и затем создать патч на основе этих изменений. Затем этот патч выкладывается на drupal.org, где другие разработчики его тестируют и если повезет, ваши изменения включат в следующий релиз модуля.

Итак, чтобы сделать патч из-под Windows, нужно делать следущее (я использую Tortoise Git):
создаю пустую папку
на ней правой кнопкой - git clone
Получаем как-то адрес...

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

Итак, чтобы сделать такое на Друпале, нам понадобится:
Модуль Smart IP: https://drupal.org/project/...

Если вы используете модуль Fivestars для голосования пользователями за ноды на сайте (например, статьи или какой-то продукт), но хотите, чтобы комментарии превратились в отзывы - т.е. оценка продукта + текст отзыва были вместе (как обычно делается, например, на яндекс.маркете и тому подобных сайтах), то сделать это очень просто: надо следовать инструкции отсюда https://drupal.org/node/1308114, а именно - добавить fivestar рейтинг к комментариям этого типа материалов, выставить ему тип виджета "голосовать...

Страницы