Magento-2.0.0-RC'ye neden registration.php eklendi?


15

Yakın magento-2.0.0-RCzamanda başlatıldı ve registration.phpher modül kök klasörüne eklendi mi? Yani bilmek istiyorum, bunun bir sebebi var mı?

Birisi buna ışık tutabilir mi?

Yanıtlar:


12

registration.phpmodülünüzün giriş noktasıdır. app/etc/modules/[Namespace]_[Module].xmlMagento 1'in eşdeğeri.
Ama şimdi, modülün kendisinin bir parçası. klasörde ve klasörde de
modüller oluşturmanızı sağlar . Nereye eklerseniz ekleyin, bu dosya Magento tarafından alınacak ve modülünüz dikkate alınacaktır. app/codevendor


Eklediğiniz yere bu dosyayı blok, model veya kontrolör dizini veya başka bir dizin gibi herhangi bir yere yerleştirebileceğim anlamına mı geliyor? @Marius
Keyur Shah

Bunun herhangi bir nedeni var çünkü config.php zaten orada @Marius
Keyur Shah

2
içinde config.phpsadece isimleri görünür modülü ve statüleri (etkin / devre dışı). Modüle giden bir yol yok. Cevabımda söylediğim gibi, registration.phpdışarıda modüllere sahip olmanızı sağlarapp/code
Marius

3
Daha fazla ayrıntı için bunu görün: maxyek.wordpress.com/2015/03/27/…
Marius

@Marius: Yani modül registration.php olmadan çalışmamalıdır değil mi?
Sukeshini

1

Magento ver iki şey değişti fark ettim. 1.0.0-beta (Ekim) - Magento sürüm. 2.0.0-rc2
1. registration.php adlı modülün kök klasörüne yeni dosya ekledi 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 daha önce değiştirildi. Event.xml dosyasında gözlemci etiketinde yöntem adından bahsediyoruz, şimdi yöntem kaldırıldı.

<?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>

ve / ModuleName / Observer klasöründe işlevli bir dosya oluşturmanız gerekir

public function execute()

yani

<?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;
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.