왜 등록 .php가 magento-2.0.0-RC에 추가 되었습니까?


15

최근 magento-2.0.0-RC에 시작 registration.php되어 모든 모듈 루트 폴더에 추가 되었습니까? 그래서 나는 그 이유가 무엇인지 알고 싶습니다.

누군가 이것에 불을 붙일 수 있습니까?

답변:


12

registration.php모듈의 시작점입니다. app/etc/modules/[Namespace]_[Module].xmlMagento 1 과 동일
하지만 지금은 모듈 자체의 일부입니다. 폴더와 폴더에도
모듈을 만들 수 있습니다 . 어디에 추가하든이 파일은 Magento에 의해 선택되며 모듈이 고려됩니다. app/codevendor


어디에 추가하면 블록, 모델 또는 컨트롤러 디렉토리 또는 다른 디렉토리와 같은 곳에이 파일을 배치 할 수 있습니까? @ 마리우스
Keyur Shah

config.php에이기 때문에 그리고 그에 대한 이유가 이미 @Marius
Keyur 샤

2
config.php이름 만 표시 모듈 및 상태 (활성화 / 비활성화). 모듈 경로가 없습니다. 나는이 질문에 말했듯이, registration.php당신은 외부 모듈을 가지고 있습니다app/code
마리우스

3
자세한 내용은 다음을 참조하십시오 : maxyek.wordpress.com/2015/03/27/…
Marius

@Marius : 따라서 모듈은 registration.php 없이는 작동하지 않아야합니다.
Sukeshini

1

Magento ver에서 두 가지가 변경된 것을 알았습니다. 마 젠토 버전 1.0.0- 베타 (10 월) 2.0.0-rc2
1. registration.php라는 모듈의 루트 폴더에 새 파일을 추가했습니다. ex : -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이 이전에 변경되었습니다. event.xml의 옵저버 태그에 메소드 이름을 언급했습니다. 이제 메소드가 제거되었습니다.

<?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>

/ ModuleName / Observer 폴더에서 함수가있는 파일을 만들어야합니다.

public function execute()

그건

<?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;
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.