Drupal

С чем изучать Drupal 7, 8

Drupal: 
Уровень сложности: 

Освоение CMS Drupal сложнее, чем WordPress, потому что функционал Друпал намного шире, имеет очень непонятные названия: Таксономия, Термины, Типы содержимого, Поля.
Предлагаю обзор полезных ресурсов для новичков и освоивших эту систему разработчиков.

Как происходит взлом, и что делать, если сайт взломали?

Уровень сложности: 

Безопасность сайта зависит от многих факторов, в том числе человеческого (работы службы поддержки хостинга, имеющей контроль над сервером). Это второй пост в рубрике Безопасность.

Стилизация меню. Добавить всем ссылкам меню уникальный id

Если нужно выделить кнопку Заказать или ссылки на отдельные разделы сайта, тогда этим пунктам должны быть прописаны свои стили CSS. Следующий хук в теме добавляет уникальные id всем пунктам всех меню сайта. После этого можно узнать id пункта меню и задать ему свойства в CSS файле.

Хук _menu_link() добавляет id всем элементам всех меню. Если нужно ограничить только одним меню, добавьте проверку в начало кода.

Page Title и более тонкая настройка заголовков страниц

Модуль Page Title предоставляет удобный интерфейс настройки заголовков. С его помощью можно выводить, например слова: новинка, акция - и даже переменные: цену товара, имя создателя авторского материала, город. Это очень удобно для создания информативных заголовков для поисковых систем.

Модуль Page Title создаёт заголовки страниц с использованием токенов, например так: [node:title] ©[node:author] ►[site:name]

Для мобильных устройств, на которых не работает Ckeditor, устанавливать программно формат ввода Plain Text

При добавлении новостей на сайт через мобильные устройства часто бывает, что текст вытягивается в одну строку, то есть не работают переносы строк. Это происходит, если выбран формат ввода Full HTML, а у пользователя мобильного устройства не грузится CKeditor. CKeditor, действительно, не на всех устройствах грузится, поэтому проще всего для мобильных выбрать plain text по умолчанию.

Решение: для всех мобильных изначально выбирать формат ввода Plain Text, но оставлять для продвинутых устройств возможность выбора Full HTML.

Адаптивное меню администратора для мобильных устройств: Administration Menu + Navbar

Drupal: 
Уровень сложности: 

Инструкция на странице https://www.darrylnorris.com/blog/improving-drupal-administration-menu-b... рассказывает о том, как сделать меню администратора удобным при просмотре с устройств.

Изменить пути модулей, переместить модули и шаблоны - поможет Registry Rebuild

Drupal: 
Уровень сложности: 

Перемещение файлов тем и модулей вызывает нерабочее состояние сайта или его функций. Однако, иногда это может происходить, если например, вы закачали модули в системную папку modules вместо sites/all/modules и теперь понимаете, что обновлять сайт будет сложнее из-за неправильного размещения файлов.

Redirect after registration Показать свою страницу после регистрации пользователя

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

Drupal i18n. Перевод переменных темы: логотипа, favicon

Drupal: 
Уровень сложности: 

В состав модуля Internationalization входит модуль Variable translation, который умеет переводить переменные: логотип темы, favicon, название сайта, описание сайта. Если у вас мультиязычный сайт, и вы ищете как перевести логотип, это делается по инструкции.
Во-первых, ваш шаблон должен поддерживать эту функцию, возможно, не все темы поддерживают мультиязычные логотипы, особенно если неправильно программированы вручную, но большинство контрибных шаблонов с сайта друпал.орг это поддерживают.

Единый вход для мультисайтинга с поддоменами на Drupal. Мультиязычность + поддомены. Один вход для всех поддоменов. Или как настроить модуль Bakery

Drupal: 
Уровень сложности: 

Мультисайтинг на Друпал - это обычно много поддоменов, которые обращаются к одной системе Drupal, установленной на главном домене. Изначально при базовых настройках вход нужно выполнять для каждого поддомена отдельно, даже если везде одинаковый логин и пароль. Это неудобно.
Также для мультиязычного сайта, на котором языковые версии расположены на поддоменах (сайт.рф, ук.сайт.рф, бе.сайт.рф, мн.сайт.рф), тоже вход приходится выполнять для каждого поддомена отдельно, что неудобно ни администратору, ни некоторым продвинутым пользователям.

Защита форм от спам-ботов модулем Simple Anti-Spam и как включить его автоматически для всех форм WebForm

Если ваш сайт на Drupal имеет много форм обратной связи ( Webform ) или других, тогда возникает задача защитить их все от спама. Отлично с этим справляется модуль Simple Anti-Spam, добавляя галку "Я не спамер" к тем формам, которые вы прописали в настройках этого модуля: Конфигурация - Simple Anti-Spam, то есть тут: /admin/config/system/simpleantispam .
Для ручной настройки модуля для выбранной формы нужно:

Блокировать доступ к сайту IP адресу, и как узнать IP зарегистрированного пользователя

Drupal: 
Уровень сложности: 

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

Красивый мультиязычный сайт на Drupal. Дизайнерские доработки

Drupal: 
Уровень сложности: 

Если вы хотите оптимизировать блок выбора языка на мультиязычном сайте, то воспользуйтесь этим уроком и кодами стилей.

Красивое выпадающее меню с флажками вместо обычного

Используем модуль Language Switcher Dropdown вместе с модулем Language Icons.

Включаем два модуля. Открываем Структура - Блоки.

language switcher dropdown

Безопасность сайта на Друпал. Базовые понятия + Видео доклад Николая Шаповалова

Drupal: 
Уровень сложности: 

Некоторые аспекты сетевой безопасности для разработчиков и владельцев сайтов. Также видео доклад о безопасности (подробный обзор методов).
Сайты представляют интерес не только для их владельцев и посетителей, но и для хакеров, которые могут иметь свои личные рассуждения о том, зачем им ломать сайты. Друпал является одной из надёжных систем из бесплатных движков на PHP. Уязвимости, которые могут повлиять на работу вашего сайта (если будут обнаружены хакерами и использованы, эксплуатированы), находятся в следующих местах:

Как убрать заголовок страницы H1 Title и хлебные крошки для главной и других страниц?

Заголовок страницы отображается в тегах < title > и в теге < h1 > в области контента. Часто бывает необходимо убрать текст названия страницы: например, для главной, для страницы поиска, для какой-либо промо-записи. Также бывает необходимо скрыть хлебные крошки для определённых страниц.
Скрыть заголовок или блок крошек можно двумя способами:

Адаптивный дизайн сайта на Drupal 7

Подробная статья о преимуществах адаптивных сайтов, использовании инструментов разработчиков. Предлагаем обзор инструментов разработчиков: сервисов тестирования сайтов на устройствах, также рекомендации Google, ссылки на адаптивные шаблоны Drupal 7, модули Друпал, которые делают сайт адаптивным, удобным, как редактировать шаблон и верстать свой макет.

Оптимизация изображений Drupal при создании материалов

Drupal: 
Уровень сложности: 

Хранение картинок на хостинге иногда требует оптимизации, если картинок много, а дисковое пространство не дешёвое. Базовая функция оптимизации картинок в поле типа Изображение в Друпал реализована опцией "Максимальное разрешение изображения" в настройках поля типа Изображение. Установив, допустим, максимум 1200 на 1500 пикселей, вы заставите друпал сжимать большие картинки до этой величины.

Бесконечная прокрутка как ВКонтакте - настраиваем модуль Views Infinite Scroll

Drupal: 
Уровень сложности: 

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

Базовая настройка Drupal Commerce

Drupal: 
Уровень сложности: 

Магазин на Друпал обязательно вызывает вопросы новичков, потому что он большой, и его структура не легко изучается с первого раза. Одна из проблем - частое возникновение ошибок. В Commerce ошибки действительно случаются на этапе настройки. Поэтому этот урок посвящён вопросам установки, настройки, переводам строк.
Тема урока: как настроить работающий магазин Drupal Commerce?

Модули, в которых я использую патчи

В следующих модулях наблюдались ошибки, поэтому я нашёл и выполнил патчи.

Ядро

bootstrap.inc - http://www.drupal.ru/node/89490#comment-642104 а также ошибка check_plain() в строке 1567 патч http://www.drupal.ru/node/55383#comment-644044
dblog.module - ошибка PDO Exception при создании материала, если длинный адрес. http://www.drupal.ru/node/89490#comment-642104

Страницы

Подписаться на Front page feed