Warum wurde Registration.php in Magento-2.0.0-RC hinzugefügt?
-
13-12-2019 - |
Frage
Kürzlich magento-2.0.0-RC
wurde gestartet und sie fügten hinzu registration.php
in jedem Modulstammordner?Ich möchte also nur wissen, ob es dafür einen Grund gibt?
Kann jemand Licht ins Dunkel bringen?
Lösung
registration.php
ist sozusagen der Einstiegspunkt Ihres Moduls.Es ist das Äquivalent von app/etc/modules/[Namespace]_[Module].xml
von Magento 1.
Aber jetzt ist es Teil des Moduls selbst.
Es ermöglicht Ihnen, Module im zu erstellen app/code
Ordner und im vendor
Ordner ebenfalls.
Egal wo Sie sie hinzufügen, diese Datei wird von Magento übernommen und Ihr Modul wird berücksichtigt.
Andere Tipps
Mir ist aufgefallen, dass sich zwei Dinge gegenüber der Magento-Version geändert haben.1.0.0-Beta (Okt.) auf Magento ver.2.0.0-rc2
1.Neue Datei im Stammordner des Moduls mit dem Namen Registration.php Ex: -App Code Sugarcode test Registration.php hinzugefügt.
<?php
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Sugarcode_Test',
__DIR__
);
2.event.xml wurde vor früher geändert.
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd">
<event name="sales_order_grid_collection_load_before">
<observer name="sales_order_grid_test" instance="Sugarcode\Test\Observer\Addtest" />
</event>
</config>
und im Ordner /ModuleName/Observer müssen Sie eine Datei mit Funktion erstellen
public function execute()
das ist
<?php
namespace Sugarcode\Test\Observer;
class Addtest
{
public function execute(\Magento\Framework\Event\Observer $observer)
{
$obj=$observer->getEvent()->getOrderGridCollection();
$obj->getSelect()->joinLeft(
['testt' => 'testtable'],
"(main_table.entity_id = testt.id)",
[
'testt.title as title'
]
);
//$this->printlogquery(true);
//return $obj;
}
}