Skip to content

Latest commit

 

History

History
95 lines (65 loc) · 3.63 KB

component-registration.md

File metadata and controls

95 lines (65 loc) · 3.63 KB
layout group subgroup title menu_title menu_order version github_link redirect_from
default
extension-dev-guide
03_Build
Register your component
Register your component
4
2.0
extension-dev-guide/build/component-registration.md
/guides/v1.0/extension-dev-guide/build/component-registration.html
/guides/v2.0/extension-dev-guide/component-registration.html

##{{page.menu_title}}

Contents

Registration overview {#register-overview}

Magento components, including modules, themes, and language packages, must be registered in the Magento system through the Magento ComponentRegistrar class.

Each component must have a file called registration.php in its root directory. For example, here is the registration.php file for Magento's [AdminNotification module]({{ site.mage2000url }}app/code/Magento/AdminNotification/registration.php). Depending on the type of component, registration is performed through registration.php by adding to it as follows:

Register modules {#register-modules}

Register modules with:

 ComponentRegistrar::register(ComponentRegistrar::MODULE, '<VendorName_ModuleName>', __DIR__);

where <VendorName> is the name of the company providing the module and <ModuleName> is the name of the module.

Do not use "Ui" for your custom module name because the %Vendor%_Ui notation, required when specifying paths, might cause issues.

###Example use \Magento\Framework\Component\ComponentRegistrar; ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magento_AdminNotification', DIR);

##Register themes {#register-themes} Register themes with:

 ComponentRegistrar::register(ComponentRegistrar::THEME, '<area>/<vendor>/<theme name>', __DIR__);

where <area> is the functional area of the module (frontend, controller, and so on.), <vendor> is the name of the company providing the theme, and <theme name> is the name of the theme.

###Example ComponentRegistrar::register(ComponentRegistrar::THEME, 'frontend/Magento/luma', DIR);

 

##Register language packages {#register-lagpacks} Register language packages with:

 ComponentRegistrar::register(ComponentRegistrar::LANGUAGE, '<VendorName>_<packageName>', __DIR__);

where <VendorName> is the name of the company providing the package and <packageName> is the name of the package.

###Example ComponentRegistrar::register(ComponentRegistrar::LANGUAGE, 'magento_de_de', DIR);

 

##Invoke registration.php in composer.json with autoload {#register-autoload} After you create your registration.php file and you are creating your component's composer.json file, invoke your registration.php file in the autoload section of composer.json:

 {
"name": "Acme-vendor/bar-component",
"autoload": {
    "psr-4": { "AcmeVendor\\BarComponent\\": "" },
    "files": [ "registration.php" ]
}

}

 

##Sample registration.php file {#register-sample}

{% highlight php startinline=true %}

{%endhighlight %}

####Next URN schema validation