📅  最后修改于: 2023-12-03 15:02:50.297000             🧑  作者: Mango
Magento 2使用路由瓮来管理URL和控制器之间的关系。路由瓮将URL请求映射到适当的控制器,并在请求中提供附加参数。这使得Magento 2成为一个灵活的平台,可以自定义URL。
创建自定义路由瓮的步骤:
routes.xml示例:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="custom_router">
<route id="custom" frontName="custom">
<module name="Vendor_Module" />
</route>
</router>
</config>
定义前端控制器的步骤:
注:控制器文件必须保存在Magento\Vendor\Module\Controller目录下。
控制器示例:
<?php
namespace Vendor\Module\Controller\Index;
class Example extends \Magento\Framework\App\Action\Action
{
protected $resultPageFactory;
public function __construct(\Magento\Framework\App\Action\Context $context, \Magento\Framework\View\Result\PageFactory $resultPageFactory)
{
$this->resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
public function execute()
{
return $this->resultPageFactory->create();
}
}
在模板中使用路由瓮来生成链接的步骤:
注:如果我们需要添加附加参数,则可以使用setParams方法。
示例:
$url = $this->_url->getUrl('custom/index/example', ['id' => 4]);
路由瓮是Magento2中重要的概念之一,它可以让我们轻松创建自定义链接,并将URL映射到适当的控制器。本文介绍了路由瓮的结构、创建和定义前端控制器的过程,希望对Magento2开发者有所帮助。