В Drupal 10/11 поддержка Oembed провайдеров в ядре (модуль media) позволяет легко и непринуждённо читать данные о медиа прямо из провайдера.
Читать далее »Все записи категории ‘Программирование’
Кастомные настройки сайта в Drupal
На сайте всегда (или почти всегда) возникает задача управления настройками вроде телефон, email, какие то текстовые элементы, вроде копирайта, адрес организации и т.п.
С точки зрения данных — требуется объект в терминах шаблонов проектирования — синглтон. Т.к. нам нужен всего один экземпляр.
Читать далее »Добавляем в page cache зависимость от значения cookie
Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. Хотелось бы расширить его возможности и получить больше управления над кешированием.
Рассмотрим как переопределить зацепку page_cache, и изменить идентификатор cache_id (cid), который генерируется для страниц. Мы добавим зависимость от названия города, которое пользователь передаёт как cookie с именем city.
Читать далее »Notification в Android
Как показать уведомление в android?
Мало того, что сообщения имеют довольно сложную структуру, но они еще и зависят от версии API, под которое билдится приложение.
Читать далее »Выбор версии php по-умолчанию
Когда на unix сервере используется несколько версий php, то может возникнуть задача включить определенную версию для использования по-умолчанию. Чтобы, к примеру, composer при проверке требований версии php, остался доволен.
Читать далее »Синглтон и даблчек
Рассмотрим использование двух паттернов программирования в kotlin — singleton и doublecheck.
Читать далее »Как превратить один тип LiveData в другой
В случаях когда один тип LiveData требуется преобразовать в другой, используют медиаторы.
Читать далее »Как сделать ссылку, которая заставит браузер скачать файл
Если коротко, то в тег A можно добавить атрибут download. Это укажет, что содержимое не адрес, куда следует перейти, а файл для скачивания.
Читать далее »Передача параметров при создании viewModel
Распространенная задача — при создании viewModel требуется передать параметры из активити или фрагмента.
Читать далее »