magento-2.0.0-RCにregistration.phpが追加されたのはなぜですか?


15

最近magento-2.0.0-RC起動されregistration.php、すべてのモジュールルートフォルダーに追加されましたか?だから私はちょうどその理由が知りたいですか?

誰かがこれに光を当てることはできますか?

回答:


12

registration.phpモジュールのエントリポイントの一種です。これapp/etc/modules/[Namespace]_[Module].xmlはMagento 1のものと同等です。
しかし、今ではモジュール自体の一部です。フォルダー内およびフォルダー内にも
モジュールを作成できます。 どこに追加しても、Magentoによってこのファイルが選択され、モジュールが考慮されます。 app/codevendor


どこに追加するかは、このファイルをブロック、モデル、コントローラーディレクトリ、またはその他のディレクトリのどこにでも配置できることを意味しますか?@Marius
Keyurシャー

config.phpがすでに@Marius
Keyur Shah

2
config.php唯一の名前が表示され、モジュールとその状態(有効/無効)。モジュールへのパスはありません。私が答えで言ったように、registration.phpモジュールを外に置くことができますapp/code
マリウス

3
詳細については、これを参照してください。maxyek.wordpress.com/2015/03/27/...
マリウス

@Marius:それで、モジュールはregistration.phpなしでは動作しません。
スケシニ

1

Magentoバージョンから2つのことが変更されたことに気付きました。1.0.0-beta(Oct)to Magento ver。2.0.0-rc2
1. 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が変更されました。event.xmlのobserverタグにメソッド名が記載されました。メソッドは削除されました。

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

/ ModuleName / Observerフォルダーには、機能付きのファイルを作成する必要があります

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;
    }
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.