Дивлячись на основний код Magento 2, схоже, існує два способи налаштування маршруту адміністратора.
Перший
#File: vendor/magento/module-media-storage/etc/adminhtml/routes.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="adminhtml">
<module name="Magento_MediaStorage" />
</route>
</router>
</config>
схожий на Magento 1. Ви додаєте свій модуль до списку модулів adminhtml
маршруту, і Magento перевіряє його на вас.
Другий
#File: vendor/magento/module-cms/etc/adminhtml/routes.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="cms" frontName="cms">
<module name="Magento_Cms" before="Magento_Backend" />
</route>
</router>
</config>
Ви налаштували новий маршрут (ідентифікатор cms
вище), а потім додали до нього свій модуль.
Чи є одним із них «правильний / бажаний» спосіб зробити це в Magento 2? Якщо ні, то в чому різниця між ними? тобто коли б ви використовували одне над іншим?
Попросити не вирішити конкретну проблему, але переконатися, що я створюю свої маршрути правильним чином, і щоб уникнути проблем, схожих на модулі Magento 1 (втягування в бібліотеки ajax, безпека тощо).