我创建了一个自定义magento模块,通过点击mysite.com/browse加载。
我需要能够在/ browse之后加载索引而不管任何内容。例如:
mysite.com/browse/cat
mysite.com/browse/cat/car/jump
mysite.com/browse/bob
- would all load the index of browse
我已经尝试过使用htaccess文件进行重写但是Magento的路由导致了那里的问题......如果某个动作不是,那么我可以告诉我的模块加载索引吗?找到而不是渲染404?
答案 0 :(得分:0)
又快又脏:
在模块控制器覆盖方法hasAction
public function hasAction($action)
{
if(!method_exists($this, $this->getActionMethodName($action))) {
$this->_forward('*/*/index');
} else {
return true;
}
}
答案 1 :(得分:0)
基于这个article我最终在模块config.xml中定义了一个重写,它在浏览之后获取了所有内容并将其传递给控制器的索引。
<rewrite>
<browse_index_index>
<from><![CDATA[/browse\/(.*)/]]></from>
<to><![CDATA[browse/index/index/$1/]]></to>
<complete>1</complete>
</browse_index_index>
</rewrite>