¿ magento-2.0.0-RC
Se lanzó recientemente y se agregaron registration.php
en cada carpeta raíz del módulo? Así que solo quiero saber si hay alguna razón para eso.
¿Alguien puede aclarar esto?
¿ magento-2.0.0-RC
Se lanzó recientemente y se agregaron registration.php
en cada carpeta raíz del módulo? Así que solo quiero saber si hay alguna razón para eso.
¿Alguien puede aclarar esto?
Respuestas:
registration.php
es una especie de punto de entrada de su módulo. Es el equivalente de app/etc/modules/[Namespace]_[Module].xml
Magento 1.
Pero ahora, es parte del módulo en sí.
le permite crear módulos en la app/code
carpeta y también en la vendor
carpeta.
No importa dónde lo agregue, Magento recogerá este archivo y se tendrá en cuenta su módulo.
config.php
sólo el módulo aparecen nombres y su estado (activado / desactivado). No hay ruta al módulo. Como dije en la respuesta, registration.php
te permite tener módulos afueraapp/code
Noté que dos cosas cambiaron de Magento ver. 1.0.0-beta (Oct) a Magento ver. 2.0.0-rc2
1. se agregó un nuevo archivo en la carpeta raíz del módulo llamado registration.php, por ejemplo: -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 se modificó anteriormente, se menciona el nombre del método en la etiqueta del observador en event.xml, ahora se eliminó el método pero solo debe mencionar 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 la carpeta / ModuleName / Observer necesita crear un archivo con función
public function execute()
es decir
<?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;
}
}