Gần đây magento-2.0.0-RCđã được đưa ra và họ thêm vào registration.phptrong 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.phptrong 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.phplà loại điểm vào của mô-đun của bạn. Nó tương đương app/etc/modules/[Namespace]_[Module].xmlvớ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/codethư mục và trong vendorthư 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.phpchỉ 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.phpcho 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;
}
}