Drupal

Drupal 8: размещение блоков в произвольных местах

Добавление мест ("регионов") где могут выводиться блоки происходит в файле page.html.twig. Собственно, внутри этого файла мы можем разместить столько регионов, сколько хотим. И там, где хотим.

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

Drupal 8: Gravatar для анонимных комментариев

Имеется: сайт на Друпале, где опубликованные материалы могут комментировать незарегистрированные пользователи.

Задача: отображать Gravatar аватары в этих самых комментариях.

Ну, вроде ничего сложного. Однако из "коробки" (включая контрибные модули) у Drupal 8 сей фукнционал отсутствует.

Корневой .htaccess Drupal'а и drush

На правах "хозяйке на заметку", уже с год хотел написать, но что-то только сейчас руки дошли. Может кому и пригодится.

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

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

Тормозящий Drupal на локалхосте

Который уже год мучаюсь с дико тормозящим Drupal'ом на локалхосте. Доходило вплоть до смешного - на "обвешенных" модулями сайтах страницы открывались порой несколько секунд, где "несколько" - от 10 и выше. Сильно выше. Что превращало работу в сплошную боль. Все собирался погуглить по теме не сегодня-завтра. Из года в год. И вот наконец-то погулил, не прошло и года. Ну, прошел, конечно. Да и не один. Но не суть.

Проблема, оказывается, весьма распространенная, не один я мучаюсь.

Помогло следующее.

Drupal: вывод ноды как разворачивающегося тизера

Продолжаю публиковать небольшие how-to постики по Друпалу. Пишу обычно только о тех тасках, которые на первый взгляд просты и делаются за полчаса-час от силы, но по факту на них уходит иногда и не один день. Связано это чаще всего с поиском оптимального решения, некорректной работой API и подводными камнями.

Итак, таска. Есть страница с нодой, /node/%node_id%, ну или алиас какой. По умолчанию на этой странице выводится вся нода целиком. А надо только тизер с кнопкой свернуть/развернуть.

Своевременное обновление ядра Drupal

Так-то, сей пост хотел написать еще много лет назад. Но все повода не было. Сам за выходом новых версий не так чтобы и следил, ну и обновлял стало быть тоже крайне нерегулярно. И при всем при этом за почти 7 лет использования Друпала никаких проблем это не вызывало. До недавнего времени.

В конце октября были взломаны все мои сайты на Drupal 7.х. SQL injection vulnerability, возможность выполнять любой SQL запрос. Благо ничего не поломали, только создали дополнительные роли и новых пользователей, ну и где-то административный пароль сменили. Хотя может бекдорчики и оставили, но бегло просмотрев ничего не нашел.

Drupal: комбинируем модули для защиты от спама

Понятно, что стопроцентной защиты от спама нет и быть не может, т. к. существует тот же ручной спам. А защита от автоматического спама автоматическими же методами суть гонка вооружений. Но благо средства защиты обычно на шаг впереди. Т. е. стандартные проверенные решения таки защищают от львиной доли программного спама. И все бы хорошо.

Но, что логично, существуют продвинутые спамеры. Которые понимают, что публичный софт пользуют все кому не лень, и отдача от ссылки с заспамленных всеми же кому не лень ресурсов не велика. И идут вполне себе разумным путем - пишут свое приватное ПО, нацеленное на пробив сегмента сайтов, на которых установлена одна и та же защита. Защита, вполне себе справляющаяся с основным потоком спама, но оказывающаяся бессильна против написанной спамилки сугубо под нее.

Обнуление пароля в Drupal

Иногда бывает так, что напрочь забываешь пароль к одному из своих сайтов на Drupal'e. Вводишь, вводишь, а на выходе получаешь следующее сообщение:

Sorry, there have been more than 5 failed login attempts for this account. It is temporarily blocked. Try again later or request a new password.

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

Drupal: поиск по Views

Буквально вчера писал про организацию поиска на scomedy.com, и вот решил все-таки осветить техническую реализацию. Понятное дело, что Друпал, и все делается методичным нажатием на далее-далее, но может кому пригодится.

В примере по ссылке выше поиск идет по цитатам, которые представляют из себя ни что иное как страничку, созданную во Views. Соответственно и поиск надо прикрутить к этой самой Views.

Поиск по Views в Drupal