Kürzlich magento-2.0.0-RC
wurde gestartet und sie registration.php
in jedem Modul-Stammordner hinzugefügt ? Ich möchte nur wissen, ob es dafür einen Grund gibt.
Kann jemand dies beleuchten?
Kürzlich magento-2.0.0-RC
wurde gestartet und sie registration.php
in jedem Modul-Stammordner hinzugefügt ? Ich möchte nur wissen, ob es dafür einen Grund gibt.
Kann jemand dies beleuchten?
Antworten:
registration.php
ist eine Art Einstiegspunkt Ihres Moduls. Es ist das Äquivalent app/etc/modules/[Namespace]_[Module].xml
von Magento 1.
Aber jetzt ist es Teil des Moduls.
Sie können Module sowohl im Ordner als auch app/code
im vendor
Ordner erstellen .
Egal wo Sie es hinzufügen, diese Datei wird von Magento abgeholt und Ihr Modul wird berücksichtigt.
config.php
nur die Modulnamen und deren Status angezeigt (aktiviert / deaktiviert). Es gibt keinen Pfad zum Modul. Wie ich in der Antwort sagte, registration.php
können Sie Module außerhalb habenapp/code
Mir ist aufgefallen, dass sich zwei Dinge von Magento ver geändert haben. 1.0.0-beta (Okt) zu Magento ver. 2.0.0-rc2
1. Neue Datei mit dem Namen registration.php im Stammverzeichnis des Moduls hinzugefügt. Beispiel: -app \ code \ Sugarcode \ Test \ registration.php
<?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 geändert, zuvor wurde der Methodenname im Observer-Tag in event.xml erwähnt. Jetzt wurde die Methode entfernt. Sie müssen nur die Instanz angeben, die ist
<?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;
}
}