Niedawno magento-2.0.0-RC
został uruchomiony i dodali registration.php
w każdym folderze głównym modułu? Więc chcę tylko wiedzieć, czy jest po temu jakiś powód?
Czy ktoś może to wyjaśnić?
Niedawno magento-2.0.0-RC
został uruchomiony i dodali registration.php
w każdym folderze głównym modułu? Więc chcę tylko wiedzieć, czy jest po temu jakiś powód?
Czy ktoś może to wyjaśnić?
Odpowiedzi:
registration.php
jest rodzajem punktu wejścia do twojego modułu. Jest to odpowiednik app/etc/modules/[Namespace]_[Module].xml
Magento 1.
Ale teraz jest częścią samego modułu.
umożliwia tworzenie modułów w app/code
folderze, a także w vendor
folderze.
Bez względu na to, gdzie go dodasz, ten plik zostanie pobrany przez Magento i twój moduł zostanie wzięty pod uwagę.
config.php
pojawiają się tylko nazwy modułów i ich status (włączony / wyłączony). Nie ma ścieżki do modułu. Jak powiedziałem w odpowiedzi, registration.php
pozwala ci mieć moduły na zewnątrzapp/code
zauważyłem, że dwie rzeczy zostały zmienione z wersji Magento. 1.0.0-beta (październik) do Magento ver. 2.0.0-rc2
1. dodał nowy plik w folderze głównym modułu o nazwie register.php np: -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 został zmieniony poprzednio wymieniliśmy nazwę metody w tagu obserwatora w event.xml teraz metoda została usunięta juts należy wspomnieć tylko o instancji, która jest
<?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>
aw folderze / ModuleName / Observer musisz utworzyć plik z funkcją
public function execute()
to jest
<?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;
}
}