我有一个更改模块网址的请求。
例如,假设网址是www.example.com/world
我需要网址为www.example.com/hello/world
我知道在模块config xml中你可以将节点更改为你喜欢的任何节点(前提是它是唯一的)但不允许prepend / hello /
<frontend>
<routers>
<anexample>
<use>standard</use>
<args>
<module>An_Example</module>
<frontName>hello/world</frontName>
</args>
</anexample>
</routers>
</frontend>
有谁知道如何做到这一点?一些示例代码甚至是正确方向上的一点都将受到赞赏!
很抱歉,如果这还不够详细,我很乐意在需要时发布更多代码。
提前致谢。
答案 0 :(得分:3)
您可以将重写添加到Magento的URL Rewrite Manager中。 Haven未对代码进行测试。但希望它有所帮助。
Mage::getModel('core/url_rewrite')
->setIsSystem(0)
->setStoreId($storeId)
->setOptions('RP')
->setIdPath('index.php?cat=c' . $categoryId . '_' . $this->strip($data['name']) . '.html')
->setTargetPath($categoryModel->getUrlPath() . '.html')// Put the actual path
->setRequestPath('index.php?cat=c' . $categoryId . '_' . $this->strip($data['name']) . '.html') // put the path you want to display
->save();
答案 1 :(得分:0)
请参阅Allan Storm关于Magento重写的以下文章
答案 2 :(得分:0)
在这里,我可以给你一个想法,以达到你的解决方案,它一定会帮助你
<?xml version="1.0"?>
<config>
<global>
<rewrite>
<some_unique_name_to_identify_this_rewrite>
<from><![CDATA[#^/from_this/#]]></from>
<to>/to_this/</to>
</some_unique_name_to_identify_this_rewrite>
</rewrite>
</global>
</config>
如果您想使用管理功能进行网址重写,您可以抛出this link
您想要实现的目标也可以使用Custom Url Rewrite完成。例如:
request path: hello/world
target path: 'world'
通过这种方式,你可以让系统改写你的起点。
希望这一定会帮到你
答案 3 :(得分:0)
最后这很简单。而不是为它创建重写的麻烦我只是将我的名字改为'你好'然后创建了一个名为'worldController'的控制器
然后在我的indexController中,我只是将重定向放到* / world
答案 4 :(得分:0)
访问自定义模块控制器路径作为自定义HTML网址链接
说http://domain.com/index.php/customwallpaper/index/create/
将重写为
http://domain.com/index.php/fotomural-personalizado.html
在 core_url_rewrite 表格中插入以下数据,以便重写网址
Mage::getModel('core/url_rewrite')
->setStoreId(1)
->setIdPath('customwallpaper')
->setRequestPath('fotomural-personalizado.html')
->setTargetPath('customwallpaper/index/create') // Put the actual Controller path
->setIsSystem(1)
->save();
-OR -
在sql查询下运行
INSERT INTO `core_url_rewrite`
(`url_rewrite_id`, `store_id`, `id_path`, `request_path`, `target_path`, `is_system`, `options`, `description`, `category_id`, `product_id`)
VALUES ('7', '1', 'customwallpaper', 'fotomural-personalizado.html', 'customwallpaper/index/create', '1', NULL, NULL, NULL, NULL);