Gần đây magento-2.0.0-RC
đã được đưa ra và họ thêm vào registration.php
trong mọi thư mục gốc mô-đun? Vì vậy, tôi chỉ muốn biết là có lý do cho điều đó?
Ai đó có thể đưa ra ánh sáng trên này?
Gần đây magento-2.0.0-RC
đã được đưa ra và họ thêm vào registration.php
trong mọi thư mục gốc mô-đun? Vì vậy, tôi chỉ muốn biết là có lý do cho điều đó?
Ai đó có thể đưa ra ánh sáng trên này?
Câu trả lời:
registration.php
là loại điểm vào của mô-đun của bạn. Nó tương đương app/etc/modules/[Namespace]_[Module].xml
với Magento 1.
Nhưng bây giờ, là một phần của chính mô-đun.
nó cho phép bạn tạo các mô-đun trong app/code
thư mục và trong vendor
thư mục.
Bất kể bạn thêm nó vào đâu, tập tin này sẽ được Magento chọn và mô-đun của bạn sẽ được xem xét.
config.php
chỉ module tên xuất hiện và tình trạng của họ (bật / tắt). Không có đường dẫn đến mô-đun. Giống như tôi đã nói trong câu trả lời, registration.php
cho phép bạn có các mô-đun bên ngoàiapp/code
tôi nhận thấy hai điều đã được thay đổi từ Magento ver. 1.0.0-beta (tháng 10) sang Magento ver. 2.0.0-rc2
1. đã thêm tệp mới vào thư mục gốc của mô-đun có tên là register.php ex: -app \ code \ Sugarcode \ Test \ register.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 đã được thay đổi trước đó, chúng tôi đang đề cập đến tên phương thức trong thẻ observer trong event.xml bây giờ phương thức đã bị xóa, bạn chỉ cần đề cập đến ví dụ đó là
<?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>
và trong thư mục / ModuleName / Observer bạn cần tạo một tệp có chức năng
public function execute()
đó là
<?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;
}
}