.. include:: /Includes.rst.txt
.. _extensions_management:
===================
Управление расширениями
===================
Как системные расширения, так и расширения сторонних разработчиков обрабатываются с помощью Composer. Composer устанавливает расширение, а также необходимые зависимости. Composer применяется и для удаления расширений.
.. _install-extension-with-composer:
Установка расширений
=====================
Поиск имени пакета Composer для расширения
-----------------------------------------------
Зайдите в `Репозиторий расширений `__ и найдите расширение.
На странице расширения под :guilabel:`"Composer support"` будет указана команда Composer, необходимая для установки данного расширения.
Например, `расширение news `__ имеет имя пакета `georgringer/news`.
Обычно имя пакета имеет вид vendor + слэш + ключ расширения. Однако если в ключе расширения имеется символ подчеркивания, то в имени пакета она заменяется на тире. Например:
`Extension Builder `__:
* **extension key**: `extension_builder`
* **vendor**: `friendsoftypo3`
* **Composer package name**: `friendsoftypo3/extension-builder`
Для установки расширения используйте :bash:`composer require`.
-----------------------------------------------------
.. code-block:: bash
:caption: /var/www/site/$
composer require
Для установки расширения news:
.. code-block:: bash
:caption: /var/www/site/$
composer require georgringer/news
Это добавит требование расширения в инсталляцию :file:`composer.json` и установит расширение.
Несмотря на то, что расширение устанавливается и активируется автоматически, перед использованием его необходимо настроить:
Настройка расширения
-------------------
.. code-block:: bash
:caption: /var/www/site/$
./vendor/bin/typo3 extension:setup
Команда extension setup берет на себя выполнение дополнительных процедур установки, таких как миграция базы данных и очистка кэша при необходимости. Команда установки расширения не привязана к конкретному расширению, а рассматривает общее состояние и выполняет все необходимые действия.
Удаление расширений
=======================
Команда composer `remove` деинсталлирует расширение.
.. code-block:: bash
:caption: /var/www/site/$
composer remove georgringer/news
Обновленный файл :file:`composer.lock` должен быть зафиксирован в системе контроля версий.
.. _install_local_extensions_using_composer:
Установка локальных расширений
===========================
Локальные расширения, включая пакеты сайта и пользовательские расширения, также должны устанавливаться с помощью Composer.
Пользовательские расширения должны размещаться в специальном локальном каталоге: `documentroot/packages`.
После создания этого каталога обновите установку `composer.json` и добавьте этот каталог в качестве нового репозитория:
.. code-block:: bash
:caption: /var/www/site/composer.json
{
"repositories": [
{
"type": "path",
"url": "./packages/*/"
},
],
}
Затем можно выполнить команду `composer require` для установки локального расширения `my-local-extension` с поставщиком `vendor`:
.. code-block:: bash
:caption: /var/www/site/$
composer require vendor/my-local-extension:@dev
Выполняя эту команду, Composer находит папку `vendor/my-local-extension` и после выполнения команды `composer install` симлинкует ее с папкой `typo3conf/ext/my-local-extension`. Приведенная выше установка определяет, что расширение должно быть помещено composer'ом в папку `:file:packages/my-local-extension`, если оно там еще не находилось.
Дополнительная информация
======================
.. _find-out-extension-key:
Определение ключа расширения для расширения
-------------------------------------------
Для любого установленного расширения ключ расширения можно найти, заглянув в файловую систему в каталог :file:`public/typo3conf/ext/`. Имя каталога расширения совпадает с ключом расширения.
Перед установкой расширения ключ расширения можно найти на его странице в `TYPO3 Extension Repository (TER) `__.
Ключ расширения указан сверху. Для `расширения news `__ ключом расширения является `news`.