답변:
registration.php
모듈의 시작점입니다. app/etc/modules/[Namespace]_[Module].xml
Magento 1 과 동일
하지만 지금은 모듈 자체의 일부입니다. 폴더와 폴더에도
모듈을 만들 수 있습니다 .
어디에 추가하든이 파일은 Magento에 의해 선택되며 모듈이 고려됩니다. app/code
vendor
config.php
이름 만 표시 모듈 및 상태 (활성화 / 비활성화). 모듈 경로가 없습니다. 나는이 질문에 말했듯이, registration.php
당신은 외부 모듈을 가지고 있습니다app/code
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;
}
}