Por que registration.php adicionado no magento-2.0.0-RC?


15

Recentemente magento-2.0.0-RCfoi lançado e eles foram adicionados registration.phpem cada pasta raiz do módulo? Então, eu só quero saber se há alguma razão para isso?

Alguém pode colocar uma luz nisso?

Respostas:


12

registration.phpé o tipo de ponto de entrada do seu módulo. É o equivalente app/etc/modules/[Namespace]_[Module].xmlao Magento 1.
Mas agora, faz parte do próprio módulo.
permite criar módulos na app/codepasta e também na vendorpasta.
Não importa onde você o adiciona, este arquivo será escolhido pelo Magento e seu módulo será levado em consideração.


Onde você adiciona, significa que posso colocar esse arquivo em qualquer lugar, como bloco, modelo ou diretório do controlador ou qualquer outro diretório? @Marius
Keyur Shah

E há alguma razão para isso porque config.php já está lá @Marius
Keyur Shah

2
em config.phpsomente o módulo nomes aparecem e seu status (ativado / desativado). Não há caminho para o módulo. Como eu disse na resposta, registration.phppermite que você tenha módulos foraapp/code
Marius

3
Veja isso para obter mais detalhes: maxyek.wordpress.com/2015/03/27/…
Marius

@ Marius: Então o módulo não deve funcionar sem o registration.php, certo?
Sukeshini 13/07/16

1

notei que duas coisas foram alteradas do Magento ver. 1.0.0-beta (outubro) para Magento ver. 2.0.0-rc2
1. adicionado novo arquivo na pasta raiz do módulo chamado registration.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 foi alterado anteriormente, mencionamos o nome do método na tag do observador em event.xml agora o método foi removido juts, você precisa mencionar apenas a instância que é

<?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 na pasta / ModuleName / Observer, você precisa criar um arquivo com a função

public function execute()

isso é

<?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;
    }
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.