Drupal 7 предлагает мощный Form API для построения форм. Однако при работе с HTML5‑атрибутами можно столкнуться с неожиданным ограничением: если вы попытаетесь задать тип поля number, email или tel стандартным способом, Drupal проигнорирует ваше значение и оставит тип text (или тот, который определён через #type).
Хак с Form API в Drupal 7: создаём HTML5‑поля (number, email, tel) без лишних модулей
Starsector: инди-песочница, где пилот становится адмиралом

Люблю песочницы и игры о космосе. Тут есть и то и другое. В бескрайних просторах космоса легко заблудиться. Но если в большинстве игр нас манят сочными 3D-пейзажами, от которых через пару дней начинает рябить в глазах, то Starsector предлагает совсем другой расклад. Это песочница, которая возвращает нас к истокам жанра, где главное не графика, а механики и свобода действий.
Читать далее »Создание системы хлебных крошек в WordPress
Есть готовые решения, плагины, которые могут решать ваши задачи в области генерации хлебных крошек. Они отлично подойдут для готовых к использованию тем оформления. Здесь я их не рассматриваю.
В статье я покажу пару «собственных» подходов к генерации крошек, и это может стать основной для вашего решения.
Читать далее »Защита зараженного сайта: автоматическая сборка черного списка IP-адресов из логов Nginx
Представьте ситуацию: ваш сайт подвергся атаке. В корне и других папках появились подозрительные PHP-файлы, которых там быть не должно. Вы их удаляете, но через некоторое время они возникают снова. Очевидно, злоумышленники нашли и используют неизвестную вам уязвимость (дыру) — возможно, в одном из плагинов CMS или стороннем компоненте.
Читать далее »Ошибка формирования чека в best2pay для WooCommerce при использовании купонов — разбор и решение
В одном из проектов столкнулся с проблемой формирования фискального чека в модуле оплаты best2pay для WooCommerce. Ошибка проявлялась не всегда, а только при использовании промокодов и нескольких товаров в корзине. Формально платеж проходил, но строки в чеке формировались некорректно: вместо скидки появлялась строка с «авансовым платежом».
Читать далее »Тилоре Малорен — сражение против одного из высших вампиров в RFAD
Продолжаю 100500-е прохождение Skyrim в этот раз под соусом RFAD SE 6.1.
Читать далее »Использование модального диалога в Drupal
В комплекте Drupal включает в себя jquery dialog, который можно подключить и использовать для ваших целей на фронт-енд. Эта статья о том, как это быстро сделать и начать собственно использовать в своей теме оформления.
Читать далее »Добавляем кнопку регистрации на форму авторизации

В этой статье мы рассмотрим, как добавить кнопку «Register» в форму авторизации в Drupal, которая будет перенаправлять пользователя на страницу регистрации. Мы добавим кнопку в раздел actions формы и используем правильный подход для создания ссылки через маршруты с помощью сервиса маршрутизации.
Preprocess Media Устарел В Drupal 11.3
В Drupal 11.3 произошла важная, но не сразу заметная смена подхода к theming‑слою: классические процедурные preprocess‑функции вида template_preprocess_* были помечены как устаревшие. Это касается и template_preprocess_media(), который многие годы использовался для подготовки переменных в шаблоне media.html.twig.
Подстановка текущего года в любом Twig-шаблоне
В шаблонах Twig нередко возникает задача подставить текущий год. Чаще всего это требуется в футере — например, чтобы автоматически обновлялась строка авторских прав. Делать это вручную каждый январь смысла нет, а стоит воспользоваться встроенными возможностями Twig.
Читать далее »