Когда прав очень много, не удобно смотреть через админку, что же там выдано в роли. Особенно, если роль точечно добавляет несколько разрешений.
Читать далее »Все записи категории ‘Программирование’
Выполнение действий после сохранения ноды – обход стандартных ограничений
Поговорим о ситуациях, когда hook_node_insert, hook_node_update гибки не на столько хорошо, и нужны альтернативные способы выполнения кода после полного завершения транзакций или даже после отправки ответа браузеру.
Шпаргалка: извлечь текст из поля bytea (binary) в PostgreSQL
Cитуация: поле в таблице имеет тип bytea (бинарные данные), но вы точно знаете, что внутри него хранится обычный текст (например, из-за ошибки проектирования или legacy-системы).
Как обновить ветку в Git без переключения на неё
Предположим, вы работаете в ветке feature, а коллеги обновили master. Вам нужно подтянуть свежие изменения в локальный master, но не хочется терять контекст и переключаться туда-обратно. Стандартный git pull работает только с текущей веткой. Что делать?
Как обновить базовую ветку фичи: кейс с rebase
В командной разработке на Git регулярно возникает ситуация: вы работаете над фичей в ветке feature/xxx, ответвившись от master. Пока вы пишете код, коллеги успевают задеплоить в master несколько других фич, которые не пересекаются с вашей, но вносят изменения в общий код (например, исправляют баги, добавляют утилиты, меняют конфигурацию). Ваша задача — обновить свою ветку так, чтобы она включила эти “чужие” изменения, но при этом не тащила в историю лишние merge-коммиты и не смешивала логику. Идеальное решение — git pull origin master --rebase. Разберём этот кейс подробно.
CSS-префиксер для изоляции стилей: добавляем класс-обёртку ко всем правилам
При разработке крупных проектов или интеграции готовых UI-библиотек часто возникает проблема конфликта имён CSS-классов. Стили одной библиотеки могут неожиданно повлиять на элементы другой, даже если вы старались использовать уникальные имена. Обычно эту проблему решают через CSS Modules или Scoped CSS.
Читать далее »C5BB 1.0.11 обновления
Вышло небольшое, но полезное обновление модуля c5bb. Продолжаю заниматься поддержкой этого проекта.
Читать далее »Изменяем историю коммитов в GIT
Рассмотрим две наиболее частые операции — изменение названия коммита и слияние нескольких коммитов в один.
Читать далее »Хак с Form API в Drupal 7: создаём HTML5‑поля (number, email, tel) без лишних модулей
Drupal 7 предлагает мощный Form API для построения форм. Однако при работе с HTML5‑атрибутами можно столкнуться с неожиданным ограничением: если вы попытаетесь задать тип поля number, email или tel стандартным способом, Drupal проигнорирует ваше значение и оставит тип text (или тот, который определён через #type).
Создание системы хлебных крошек в WordPress
Есть готовые решения, плагины, которые могут решать ваши задачи в области генерации хлебных крошек. Они отлично подойдут для готовых к использованию тем оформления. Здесь я их не рассматриваю.
В статье я покажу пару «собственных» подходов к генерации крошек, и это может стать основной для вашего решения.
Читать далее »