Tại sao đăng ký.php được thêm vào trong magento-2.0.0-RC?


15

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:


12

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.


Nơi bạn thêm nó có nghĩa là tôi có thể đặt tệp này ở bất cứ đâu như thư mục khối, mô hình hoặc trình điều khiển hoặc bất kỳ thư mục nào khác? @Marius
Keyur Shah

Và có lý do nào cho điều đó bởi vì config.php đã có sẵn @Marius
Keyur Shah

2
trong 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
Marius

3
Xem phần này để biết thêm chi tiết: maxyek.wordpress.com/2015/03/27/ từ
Marius

@Marius: Vậy mô-đun không nên hoạt động nếu không có register.php phải không?
Sukeshini

1

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;
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.