回答:
registration.php
モジュールのエントリポイントの一種です。これapp/etc/modules/[Namespace]_[Module].xml
はMagento 1のものと同等です。
しかし、今ではモジュール自体の一部です。フォルダー内およびフォルダー内にも
モジュールを作成できます。
どこに追加しても、Magentoによってこのファイルが選択され、モジュールが考慮されます。 app/code
vendor
config.php
唯一の名前が表示され、モジュールとその状態(有効/無効)。モジュールへのパスはありません。私が答えで言ったように、registration.php
モジュールを外に置くことができますapp/code
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;
}
}