Почему в magento-2.0.0-RC добавлен файл Registration.php?
-
13-12-2019 - |
Вопрос
Недавно magento-2.0.0-RC
был запущен, и они добавили registration.php
в каждой корневой папке модуля?Вот я просто хочу знать, есть ли для этого какая-то причина?
Может ли кто-нибудь пролить свет на это?
Решение
registration.php
это своего рода точка входа вашего модуля.Это эквивалент app/etc/modules/[Namespace]_[Module].xml
из Мадженто 1.
Но теперь это часть самого модуля.
он позволяет создавать модули в app/code
папке и в папке vendor
папка тоже.
Независимо от того, куда вы его добавите, этот файл будет подхвачен Magento и ваш модуль будет учтен.
Другие советы
Я заметил, что два вещи были изменены с Magento Ver.1.0.0-бета (октябрь) в Magento Ver.2.0.0-RC2
1. Добавлен новый файл в корневой папке модуля под названием Registing.php
Ex: -App \ Code \ SugarCode \ Test \ Registract.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 был изменен Предыдущая мы упоминаем имя метода в теге Observer в Event.xml Теперь метод был удален Juts, вы должны упомянуть, только один экземпляр
<?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;
}
}
.