Baru magento-2.0.0-RC
- baru ini diluncurkan dan mereka ditambahkan registration.php
di 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.php
di setiap folder root modul? Jadi saya hanya ingin tahu apakah ada alasan untuk itu?
Adakah yang bisa menjelaskan hal ini?
Jawaban:
registration.php
adalah semacam titik masuk modul Anda. Ini setara dengan app/etc/modules/[Namespace]_[Module].xml
dari Magento 1.
Tapi sekarang, adalah bagian dari modul itu sendiri.
memungkinkan Anda untuk membuat modul di app/code
folder dan di vendor
folder juga.
Di mana pun Anda menambahkannya, file ini akan diambil oleh Magento dan modul Anda akan dipertimbangkan.
config.php
hanya modul nama muncul dan status mereka (diaktifkan / dinonaktifkan). Tidak ada jalur ke modul. Seperti yang saya katakan dalam jawaban, registration.php
memungkinkan 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;
}
}