Перейти к основному содержанию

Drupal 9 — модуль Ludwig, ручная альтернатива Composer

Drupal 9

Выделяю время на обслуживание сайта, потом кучу статей на тему Drupal приходится писать. И людям помочь, и самому не забыть. Вашему вниманию представляется незаменимый в некоторых случаях модуль Ludwig.

https://www.drupal.org/project/ludwig

Текущие версии:

  • Drupal 8: 8.x-1.12 Stable release covered by the Drupal Security Team released 8 January 2022
  • Drupal 9 и 10: 2.0.3 Stable release covered by the Drupal Security Team released 8 January 2022

Данный модуль представляет собой ручную альтернативу Composer. Многие модули часто требуют внешних библиотек PHP, для их установки и работы требуется Composer, который скачивает нужные библиотеки и их зависимости. Иногда Composer нет возможности использовать, например, если у вас хостинг без доступа к SSH и нет возможности установить и воспользоваться Composer. Или, например, Drupal развёрнут на ОС Windows, там, конечно, есть возможность установить Composer, если есть админский доступ и если с этой самой установкой разобраться.

Так вот, Ludwig может делать то же самое, что и Composer: скачивать в устанавливаемый модуль нужные сторонние PHP библиотеки и их зависимости. Он не такой мощный, удобный и автоматический, как Composer, но работает достаточно хорошо.

Если у вас есть Composer, то модуль Ludwig вам не нужен.

Название модуля авторы объясняют так:

Ludwig van Beethoven was a **deaf composer**.

Не все модули можно установить с помощью Ludwig, а только те, которые поддерживаются: Address, Add to Cal, Advanced CSS/JS Aggregation, Barcodes, Booking and Availability Management Tools for Drupal, Commerce Core, CSV Serialization, External Entities, Feeds extensible parsers, Geofield, GeoIP API, Geolocation Field, Get Tweets, Layout Builder Component Attributes, Mailchimp, Mobile Detect, OAuth2 Server, PHPMailer SMTP, reCAPTCHA v3, SendGrid Integration, Smart Date, SMTP Authentication Support, Symfony Mailer, Views Simple Math Field

Поддерживаемые модули должны иметь в корне файл ludwig.json, в котором указывается список нужных PHP библиотек, например:

{
    "require": {
        "doctrine/collections": {
            "version" : "v1.6.1",
            "url": "https://github.com/doctrine/collections/archive/v1.6.1.zip"
        },
        "commerceguys/addressing": {
            "version": "v1.1.0",
            "url": "https://github.com/commerceguys/addressing/archive/v1.1.0.zip"
        }
    }
}

Если модуль не имеет официальную поддержку Ludwig, можно поискать для него ludwig.json на форумах, или написать самому.

Как пользоваться

  1. Скачать и установить Ludwig как обычное расширение.
  2. Скачать модули, которые требуют зависимых PHP библиотек, но не устанавливать их.
  3. Посмотреть отчёт о статусах пакетов: Reports → Packages (admin/reports/packages), при этом зависимые PHP пакеты загрузятся в свои модули.
  4. Если какие-то библиотеки отмечены как потерянные (missing) — нажать кнопку "Download missing packages".
  5. Установить модули.

drupal

Теги

 

Похожие материалы

Drupal 8/9 — PHP код на странице

В drupal 8 и 9 выпилили возможность вставить PHP код на страницу. С одной стороны это правильно и безопасно, с другой стороны — иногда нужно. Для того чтобы вернуть возможность вставить PHP потребуется установить расширение.

Теги

Добавляем уведомления виджету комментариев "В контакте"

Есть такая замечательная штука, виджет комментариев "В контакте". Но у него есть небольшой минус — нет возможности "из коробки" получать уведомления о новых комментариях. Есть блок, выводящий все комментария, но он показывает только сообщения первого уровня, вложенные ответы не видно. Добавим уведомления на почту при поступлении нового комментария.

Теги