Erstellen: app/code/Company1/Module1/composer.json
{
"name": "company1 / module-module1",
"Beschreibung": "",
"benötigen": {
"php": "~ 5.5.0 | ~ 5.6.0 | ~ 7.0.0",
"Magento / Framework": "100.0. *",
"magento / module-ui": "100.0. *",
"magento / module-config": "100.0. *",
"magento / module-directory": "100.0. *"
},
"Typ": "Magento2-Modul",
"version": "100.0.0",
"Lizenz": [
"OSL-3.0",
"AFL-3.0"
],
"Autoload": {
"files": ["register.php"],
"psr-4": {
"Company1 \\ Module1 \\": ""
}}
}}
}}
Erstellen: app/code/Company1/Module1/registration.php
\ Magento \ Framework \ Component \ ComponentRegistrar :: register (
\ Magento \ Framework \ Component \ ComponentRegistrar :: MODULE,
'Company1_Module1',
__DIR__
);
Erstellen: app/code/Company1/Module1/etc/module.xml
<? xml version = "1.0"?>
<config xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Urne: magento: Framework: Modul / etc / module.xsd">
<module name = "Company1_Module1" setup_version = "2.0.0">
<sequenz>
<module name = "Magento_Directory" />
</ sequence>
</ module>
</ config>
Modulerstellung abgeschlossen. Erstellen Sie nun eine Hilfsklasse im Hilfsordner .
app/code/Company1/Module1/Helper/Data.php
::
Namespace Company1 \ Module1 \ Helper;
Klasse Daten erweitert \ Magento \ Framework \ App \ Helper \ AbstractHelper
{
öffentliche Funktion someMethod ()
{
return 1;
}}
}}
Verwendung der Hilfsklasse im Controller
$this->_objectManager->create('Company1\Module1\Helper\Data')->someMethod();
Verwendung der Hilfsklasse im Block
öffentliche Funktion __construct (
\ Magento \ Framework \ View \ Element \ Template \ Context $ context,
\ Company1 \ Module1 \ Helper \ Data $ helper,
Array $ data = []
) {
$ this-> helper = $ helper;
parent :: __ Konstrukt ($ context, $ data);
}}
So $this->helper
ist jetzt Instanz von Daten.
Zum Überschreiben jeder Klasse können Sie die Einstellungen verwenden .
app/code/Company1/Module1/etc/di.xml
::
<xml version = "1.0"?>
<config xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Urne: magento: Framework: ObjectManager / etc / config.xsd">
<Präferenz für = "Magento \ Directory \ Helper \ Data" type = "Company1 \ Module1 \ Helper \ Data" />
</ config>
Sie können auch das Plugin verwenden. Das Plugin ist der beste Weg, um Konflikte beim Umschreiben zu überwinden. Für weitere Informationen Plugin Beispiel