¿Por qué se agregó Registration.php en magento-2.0.0-RC?
-
13-12-2019 - |
Pregunta
Recientemente magento-2.0.0-RC
se lanzó y agregaron registration.php
en cada carpeta raíz del módulo?Entonces solo quiero saber si hay alguna razón para eso.
¿Alguien puede aclarar esto?
Solución
registration.php
es una especie de punto de entrada de su módulo.Es el equivalente a app/etc/modules/[Namespace]_[Module].xml
de Magento 1.
Pero ahora, es parte del propio módulo.
Le permite crear módulos en el app/code
carpeta y en el vendor
carpeta también.
No importa dónde lo agregue, Magento recogerá este archivo y su módulo se tendrá en cuenta.
Otros consejos
noté que se cambió dos cosas de Magento Ver.1.0.0-Beta (oct) a Magento Ver.2.0.0-RC2
1. Añadido nuevo archivo en la carpeta raíz del módulo llamado registro.php
EX: -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 fue cambiado Anterior Estamos mencionados el nombre del método en la etiqueta de observador en evento.xml Ahora se eliminó el método JUTs, debe mencionar solo la instancia que es
<?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>
y en / modulename / carpeta de observadores que necesita para crear un archivo con función
public function execute()
que es
<?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;
}
}