<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://niklan.net/blog.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Niklan</title>
    <description>Блог веб-разработчика</description>
    <link>https://niklan.net/</link>
    <language>ru</language>
    <atom:link href="https://niklan.net/blog.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sun, 08 Mar 2026 13:05:01 +0000</lastBuildDate>
    <item>
      <title>Drupal Commerce 3: перелинковка товаров с одной вариацией</title>
      <link>https://niklan.net/blog/drupal-commerce-3-single-variation-crosslinking</link>
      <guid isPermaLink="false">00fd2aa4-0263-4998-a71f-ea3c6a966765</guid>
      <description><![CDATA[У каждой вариации отдельная страница, но нет перелинковки между похожими товарами? Узнайте, как группировать товары и создавать блоки со ссылками без изменения структуры каталога.]]></description>
      <pubDate>Sat, 07 Mar 2026 16:30:00 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2026-03/0247196a-0f50-496c-b596-80f0d1b03fd7.png.webp?itok=wA_FvYPg" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 11.3: Обзор ключевых изменений</title>
      <link>https://niklan.net/blog/drupal-11-3-overview</link>
      <guid isPermaLink="false">08b85aa1-eab7-4b01-9b95-3419a6e69c28</guid>
      <description><![CDATA[В новый релиз вошли интеграция HTMX, частичный перевод рендер-массивов на ООП, поддержка ООП-хуков в темах, YAML-экспорт содержимого, асинхронный драйвер MySQLi и многое другое.]]></description>
      <pubDate>Mon, 08 Dec 2025 15:00:00 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2025-12/289547be-bf56-4e87-9b33-a5dedff48c3c.png.webp?itok=kKeSsv-g" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal Warmer 2: Кеш нужно подавать горячим!</title>
      <link>https://niklan.net/blog/drupal-warmer-2</link>
      <guid isPermaLink="false">400cf25b-773d-4380-86be-fe9b65e5467c</guid>
      <description><![CDATA[Узнайте, как ускорить работу сайта на Drupal с Drupal Warmer 2: прогрейте кеш и наслаждайтесь быстрой загрузкой страниц!]]></description>
      <pubDate>Wed, 29 Sep 2021 15:31:57 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/4e44f4dc-2fda-4c1f-bd7b-9123794a156d.png.webp?itok=9u438otJ" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Почему стоит попробовать Drupal 9</title>
      <link>https://niklan.net/blog/why-you-should-try-drupal-9</link>
      <guid isPermaLink="false">3b86985b-a6de-46aa-ae1a-937d1cb1d348</guid>
      <description><![CDATA[Drupal 9 — это мощный инструмент для создания сайтов и веб-приложений. Он обладает улучшенной безопасностью, высокой скоростью работы и широкими возможностями настройки. Попробуйте Drupal 9 и убедитесь в его преимуществах сами!]]></description>
      <pubDate>Sat, 01 Aug 2020 11:13:24 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/bd1d4247-bce8-42bf-a7b3-b5a1dabc10e7.png.webp?itok=VKVh4-yp" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8, 9: Отправка писем используя ООП и Dependency Injection</title>
      <link>https://niklan.net/blog/drupal-8-9-sending-emails-using-oop-and-dependency-injection</link>
      <guid isPermaLink="false">15ef99fc-c4f9-43a3-86fe-b943e2f74642</guid>
      <description><![CDATA[Узнайте, как отправлять письма в Drupal 8 и 9 с использованием ООП и Dependency Injection для улучшения структуры кода и удобства разработки.]]></description>
      <pubDate>Fri, 29 May 2020 14:47:23 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/b4713a94-b244-435b-85a7-90532471d36d.png.webp?itok=N7YjxVZj" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8, 9: Placeholder Strategy</title>
      <link>https://niklan.net/blog/drupal-8-9-placeholder-strategy</link>
      <guid isPermaLink="false">d872ff7e-3ca8-45ef-a78c-9c889cdf0f53</guid>
      <description><![CDATA[Drupal 8, 9: Placeholder Strategy — узнайте, как оптимизировать рендер страниц с помощью плейсхолдеров и асинхронной обработки данных.]]></description>
      <pubDate>Fri, 15 May 2020 10:51:12 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/18fb0447-6258-409c-89b1-d4c18de70087.png.webp?itok=z1jiUqgv" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8, 9: lock и lock.persistent — блокировка состояния</title>
      <link>https://niklan.net/blog/drupal-8-9-lock-and-lock-persistent</link>
      <guid isPermaLink="false">c9b6e604-2b65-47f6-a81d-e66976c127d3</guid>
      <description><![CDATA[Drupal 8, 9: блокировка состояния — узнайте, как обеспечить целостность данных, предотвратить конфликты при работе с сайтом и избежать «состояние гонки».]]></description>
      <pubDate>Thu, 30 Apr 2020 14:13:22 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/1decf260-403c-440b-8b72-cd4dbdcab6d0.png.webp?itok=hWHNBfpF" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Рендер массивы и их рендеринг</title>
      <link>https://niklan.net/blog/drupal-8-render-arrays</link>
      <guid isPermaLink="false">0eb58cd8-a57d-44ee-934e-1749c31eca25</guid>
      <description><![CDATA[Разбираемся, что такое рендер массивы, зачем они нужны, какие проблемы решают, и как они превращаются в HTML разметку.]]></description>
      <pubDate>Wed, 05 Feb 2020 16:58:13 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/82351ac7-2199-4239-9a9d-266d5a7e4d03.png.webp?itok=Dfg171Ny" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Миграция с drupal-composer/drupal-project на drupal/recommended-project</title>
      <link>https://niklan.net/blog/migration-drupal-composer-drupal-project-drupal-recommended-project</link>
      <guid isPermaLink="false">cc74fb11-65ef-4430-bd76-258ed68b7279</guid>
      <description><![CDATA[Синхронизируйте свой проект с официальным шаблоном Drupal.]]></description>
      <pubDate>Wed, 15 Jan 2020 17:08:24 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/0de8c19c-13f0-4f8f-a4d1-ccc8be5f5378.png.webp?itok=ch8hZrka" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Подготовка ответа для основного содержимого</title>
      <link>https://niklan.net/blog/drupal-8-main-content-renderer</link>
      <guid isPermaLink="false">f8674a3d-b4e7-429f-b8ec-fd1717cab4a9</guid>
      <description><![CDATA[Узнайте как происходит определение, как «собирать» страницу, как это можно использовать для себя и влиять на результат.]]></description>
      <pubDate>Thu, 05 Sep 2019 17:46:14 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/6ea2bbf6-9a3e-437c-86f8-bb2c4a4188c9.png.webp?itok=hi8esQzJ" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Деплой переводов для кастомных модулей</title>
      <link>https://niklan.net/blog/drupal-8-deploying-translations-custom-modules</link>
      <guid isPermaLink="false">ff9da91d-b755-48cc-8b16-78b1794629fa</guid>
      <description><![CDATA[Развертываем переводы для пользовательских модулей.]]></description>
      <pubDate>Mon, 02 Sep 2019 17:46:16 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/a2fb2d64-5c45-43af-9153-5950dd22a457.png.webp?itok=VGAB4gNg" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: @EntityReferenceSelection — плагин автодополнения для сущностей</title>
      <link>https://niklan.net/blog/drupal-8-entity-reference-selection-plugin</link>
      <guid isPermaLink="false">f9d69948-72ec-4f36-b186-5bd1862704a8</guid>
      <description><![CDATA[В Drupal 8 появился новый плагин автодополнения для сущностей — @EntityReferenceSelection. Он позволяет удобно выбирать сущности, используя механизм автодополнения. Это упрощает работу с контентом и делает процесс выбора более интуитивным.]]></description>
      <pubDate>Fri, 30 Aug 2019 18:30:50 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/616e36dd-7fbd-4e93-bc8e-bf5507df286a.png.webp?itok=35TZwJJv" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drush 9: Создание собственного генератора</title>
      <link>https://niklan.net/blog/drush-9-generator</link>
      <guid isPermaLink="false">de8d2732-6fda-4ddc-bb78-4a39cd7025c3</guid>
      <description><![CDATA[Drush 9 позволяет разработчикам создавать собственные генераторы для автоматизации рутинных задач в Drupal, повышая эффективность работы.]]></description>
      <pubDate>Thu, 09 May 2019 21:45:09 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/87c7887a-c275-46f3-a2cf-1bdd221b7cd5.png.webp?itok=xbZ5aOJ3" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Сервисы с метками</title>
      <link>https://niklan.net/blog/drupal-8-tagged-services</link>
      <guid isPermaLink="false">ecb2f78f-4313-46df-8dd8-8461e849e2a8</guid>
      <description><![CDATA[Сервисы с метками — удобный инструмент для организации сервисов. Узнайте, чем они отличаются от плагинов и как их использовать.]]></description>
      <pubDate>Sun, 05 May 2019 12:40:01 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/ac5db589-ac0e-4b4e-8a1d-2bb3cf956e3b.png.webp?itok=oEY1zOCb" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Derivatives — множественные экземпляры плагина</title>
      <link>https://niklan.net/blog/drupal-8-derivatives</link>
      <guid isPermaLink="false">34035e87-0065-4223-8947-c2e8f1bf1b0d</guid>
      <description><![CDATA[Derivatives — это мощный инструмент, который позволяет создавать множество экземпляров плагина с одной логикой, что делает разработку более гибкой и эффективной.]]></description>
      <pubDate>Sat, 04 May 2019 19:36:32 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/58926546-599f-491a-9618-80eeda9619cf.png.webp?itok=2-N2eHiM" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Устанавливаем значение поля для пустого результата</title>
      <link>https://niklan.net/blog/drupal-8-how-set-default-value-empty-field</link>
      <guid isPermaLink="false">404beb4e-fe0e-454d-86e5-cb0bd82ec7d5</guid>
      <description><![CDATA[Установка значения поля по умолчанию для пустых результатов — эффективный способ заполнить данные, если основное значение не введено.]]></description>
      <pubDate>Fri, 03 May 2019 18:43:51 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/8f1fa2a5-bf85-4928-a7de-e5899004fb4e.png.webp?itok=ivpgQlen" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Сервис user.data — хранилище данных пользователей</title>
      <link>https://niklan.net/blog/drupal-8-user-data-service</link>
      <guid isPermaLink="false">74beab8d-f76f-4639-aefe-818a9a1522e5</guid>
      <description><![CDATA[Сервис user.data — это инструмент, который позволяет хранить пользовательские данные в виде пар «ключ-значение». Это удобно для хранения дополнительной информации о пользователе, такой как предпочтения или настройки.]]></description>
      <pubDate>Thu, 02 May 2019 19:44:51 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/e72c3841-be00-4015-8cd5-eadf29138ce8.png.webp?itok=axr8c0dM" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Плагин QueueWorker — выполнение очередей по крону</title>
      <link>https://niklan.net/blog/drupal-8-queue-worker-plugin</link>
      <guid isPermaLink="false">5e13ee1d-292a-4bad-be28-aca985755738</guid>
      <description><![CDATA[Плагин QueueWorker — это инструмент для автоматической обработки очередей. Он позволяет выполнять задачи в фоновом режиме, обеспечивая бесперебойную работу вашего сайта.]]></description>
      <pubDate>Sun, 21 Apr 2019 17:37:33 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/e43eeac2-1e03-4e32-b684-1a14fd92a202.png.webp?itok=HQoY2Ggt" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Сервис access_check — гибкая и переиспользуемая проверка прав доступа к маршрутам</title>
      <link>https://niklan.net/blog/drupal-8-access-check</link>
      <guid isPermaLink="false">19c400a1-0064-4cc8-baf1-8315e558b970</guid>
      <description><![CDATA[Сервис access_check — это гибкий и переиспользуемый инструмент для проверки прав доступа к маршрутам. Он позволяет настраивать сложные правила доступа, делая ваш сайт более безопасным.]]></description>
      <pubDate>Fri, 19 Apr 2019 20:29:18 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/c1695f2b-fb18-4798-baaa-6c88a474fa43.png.webp?itok=KRZMbZvg" medium="image" type="image/png"/>
    </item>
    <item>
      <title>Drupal 8: Batch API</title>
      <link>https://niklan.net/blog/drupal-8-batch-api</link>
      <guid isPermaLink="false">6eff4352-28df-4dcd-91ff-73b81d59f447</guid>
      <description><![CDATA[Batch API — это API для пакетной обработки данных. Оно позволяет выполнять длительные операции, разбивая их на части. В этом материале мы рассмотрим, как использовать Batch API.]]></description>
      <pubDate>Tue, 11 Sep 2018 17:24:14 +0000</pubDate>
      <media:content url="https://niklan.net/sites/default/files/styles/150x200/public/2024-11/3764b32d-fd21-4ceb-9d8d-9626d8348d31.png.webp?itok=4i9NNnYX" medium="image" type="image/png"/>
    </item>
  </channel>
</rss>
