Baru magento-2.0.0-RC- baru ini diluncurkan dan mereka ditambahkan registration.phpdi setiap folder root modul? Jadi saya hanya ingin tahu apakah ada alasan untuk itu?
Adakah yang bisa menjelaskan hal ini?
Baru magento-2.0.0-RC- baru ini diluncurkan dan mereka ditambahkan registration.phpdi setiap folder root modul? Jadi saya hanya ingin tahu apakah ada alasan untuk itu?
Adakah yang bisa menjelaskan hal ini?
Jawaban:
registration.phpadalah semacam titik masuk modul Anda. Ini setara dengan app/etc/modules/[Namespace]_[Module].xmldari Magento 1.
Tapi sekarang, adalah bagian dari modul itu sendiri.
memungkinkan Anda untuk membuat modul di app/codefolder dan di vendorfolder juga.
Di mana pun Anda menambahkannya, file ini akan diambil oleh Magento dan modul Anda akan dipertimbangkan.
config.phphanya modul nama muncul dan status mereka (diaktifkan / dinonaktifkan). Tidak ada jalur ke modul. Seperti yang saya katakan dalam jawaban, registration.phpmemungkinkan Anda untuk memiliki modul di luarapp/code
Saya melihat dua hal telah diubah dari Magento ver. 1.0.0-beta (Oktober) ke Magento ver. 2.0.0-rc2
1. menambahkan file baru di folder root dari modul bernama registration.php mis: -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 telah diubah sebelumnya kami menyebutkan nama metode di tag pengamat di event.xml sekarang metode telah dihapus, Anda perlu menyebutkan hanya instance yang
<?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>
dan di folder / ModuleName / Observer Anda perlu membuat file dengan fungsi
public function execute()
itu adalah
<?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;
}
}