Magento为单个门店提供多条动态定制路线
我想在上加载我的magento存储 www.example.com/var1/var2 而不是www.example.com,我希望我的产品url类似于www.example.com/var1/var2/product-url Var1和var2可以是动态变量。 帮助我重写maganeto 2.2.6中的URLMagento为单个门店提供多条动态定制路线,magento,routes,magento2,router,magento2.2,Magento,Routes,Magento2,Router,Magento2.2,我想在上加载我的magento存储 www.example.com/var1/var2 而不是www.example.com,我希望我的产品url类似于www.example.com/var1/var2/product-url Var1和var2可以是动态变量。 帮助我重写maganeto 2.2.6中的URL 我尝试过开发一个自定义模块,但现在我要做的就是在自定义模块中加载所有magento模块。似乎我在magento完全按照习惯工作,这不是一个好的做法。通过这种方式,我必须将所有magent
我尝试过开发一个自定义模块,但现在我要做的就是在自定义模块中加载所有magento模块。似乎我在magento完全按照习惯工作,这不是一个好的做法。通过这种方式,我必须将所有magento模块重新初始化为自定义模块。通过这种方式,使用这种方法,magento对我来说毫无用处。在这种情况下,您可以通过执行以下步骤来使用请求路由:
供应商\模块\控制器\路由器
错误的
70
/**
* Router constructor.
* @param \Magento\Framework\App\ActionFactory $actionFactory
*/
public function __construct(\Magento\Framework\App\ActionFactory $actionFactory)
{
$this->actionFactory = $actionFactory;
}
public function match(\Magento\Framework\App\RequestInterface $request)
{
$info = $request->getPathInfo();
if (preg_match("%^/(var1/var2)(.*?)$%", $info, $m)) {
$request->setPathInfo(str_replace('var1/var2', '', $info));
return $this->actionFactory->create('Magento\Framework\App\Action\Forward',
['request' => $request]);
}
return null;
}
}输入您的url,如www.example.com/var1/var2,然后查看结果我将投票结束这个问题,因为堆栈溢出是一个问答网站。你的问题不是关于编程。也许你应该把它贴上去?我已经试过了,它已经起作用了。但它只加载主页。我希望我的所有url,如我的产品hrefs和我的购物车页面链接,都应该转换为www.example.com/var1/var2/my-cart或www.example.com/var1/var2/my-product。我不想更改基本url,因为var1和var2是动态的,我不想为每个使用不同var1/var2var1/var2的用户反复更新数据库基本上,var1是类型,var2是供应商名称,所以两者都可以反复更改