Perché registrazione.php aggiunto in magento-2.0.0-rc?
-
13-12-2019 - |
Domanda
Recentemente è stato lanciato magento-2.0.0-RC
e hanno aggiunto registration.php
in ogni cartella radice del modulo?Quindi voglio solo sapere c'è qualche motivo per questo?
Qualcuno può mettere la luce su questo?
Soluzione
registration.php
è un po 'del punto di ingresso del modulo.È l'equivalente del app/etc/modules/[Namespace]_[Module].xml
da Magento 1.
Ma ora, fa parte del modulo stesso.
Ti consente di creare moduli nella cartella app/code
e nella cartella vendor
.
Non importa dove lo aggiungi, questo file verrà prelevato da Magento e il tuo modulo verrà preso in considerazione.
Altri suggerimenti
Ho notato che due cose sono state cambiate da Magento Ver.1.0.0-beta (ott) a magento ver.2.0.0-rc2
1. Aggiunto nuovo file nella cartella principale del modulo chiamato registrazione.php
EX: -App \ Code \ Sugarcode \ Test \ Redisc.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 è stato cambiato Precedente Siamo menzionare il nome del metodo in tag Observer in event.xml Ora il metodo è stato rimosso Juts devi menzionare solo istanza
<?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>
.
e in / Modulename / cartella Observer è necessario creare un file con funzione
public function execute()
.
è
<?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;
}
}
.