Управление расширениями

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

Установка расширений

Поиск имени пакета Composer для расширения

Зайдите в Репозиторий расширений и найдите расширение.

На странице расширения под "Composer support" будет указана команда Composer, необходимая для установки данного расширения.

Например, расширение news имеет имя пакета georgringer/news.

Обычно имя пакета имеет вид vendor + слэш + ключ расширения. Однако если в ключе расширения имеется символ подчеркивания, то в имени пакета она заменяется на тире. Например: Extension Builder:

  • extension key: extension_builder
  • vendor: friendsoftypo3
  • Composer package name: friendsoftypo3/extension-builder

Для установки расширения используйте composer require.

/var/www/site/$
composer require <packagename>
Copied!

Для установки расширения news:

/var/www/site/$
composer require georgringer/news
Copied!

Это добавит требование расширения в инсталляцию composer.json и установит расширение.

Несмотря на то, что расширение устанавливается и активируется автоматически, перед использованием его необходимо настроить:

Настройка расширения

/var/www/site/$
./vendor/bin/typo3 extension:setup
Copied!

Команда extension setup берет на себя выполнение дополнительных процедур установки, таких как миграция базы данных и очистка кэша при необходимости. Команда установки расширения не привязана к конкретному расширению, а рассматривает общее состояние и выполняет все необходимые действия.

Удаление расширений

Команда composer remove деинсталлирует расширение.

/var/www/site/$
composer remove georgringer/news
Copied!

Обновленный файл composer.lock должен быть зафиксирован в системе контроля версий.

Установка локальных расширений

Локальные расширения, включая пакеты сайта и пользовательские расширения, также должны устанавливаться с помощью Composer.

Пользовательские расширения должны размещаться в специальном локальном каталоге: documentroot/packages.

После создания этого каталога обновите установку composer.json и добавьте этот каталог в качестве нового репозитория:

/var/www/site/composer.json
{
    "repositories": [
        {
            "type": "path",
            "url": "./packages/*/"
        },
    ],
}
Copied!

Затем можно выполнить команду composer require для установки локального расширения my-local-extension с поставщиком vendor:

/var/www/site/$
composer require vendor/my-local-extension:@dev
Copied!

Выполняя эту команду, Composer находит папку vendor/my-local-extension и после выполнения команды composer install симлинкует ее с папкой typo3conf/ext/my-local-extension. Приведенная выше установка определяет, что расширение должно быть помещено composer'ом в папку :file:packages/my-local-extension, если оно там еще не находилось.

Дополнительная информация

Определение ключа расширения для расширения

Для любого установленного расширения ключ расширения можно найти, заглянув в файловую систему в каталог public/typo3conf/ext/. Имя каталога расширения совпадает с ключом расширения.

Перед установкой расширения ключ расширения можно найти на его странице в TYPO3 Extension Repository (TER).

Ключ расширения указан сверху. Для расширения news ключом расширения является news.