HI,
我正在尝试为自定义模块创建一个路由器。
我想通过url / hotsale访问索引控制器的hotsale操作。所以我在我的模块的config.xml中创建了以下路由器xml。
<hotsale>
<use>standard</use>
<args>
<module>Moon_Products</module>
<frontName>hotsale</frontName>
</args>
</hotsale>
当我访问url / hotsale时,它会转到索引控制器的索引操作。如何让它执行hotsale操作?
我尝试添加hotsale,但它没有用。
我接受了Alan Storm的建议,并以下面的代码结束。
public function indexAction()
{
if($this->getRequest()->getRouteName() == 'hotsale'){
$this->loadLayout();
$block = $this->getLayout()->createBlock(
'Mage_Core_Block_Template',
'my_block_name_here',
array('template' => 'moon/hotsale.phtml')
);
$this->getLayout()->getBlock('root')->setTemplate('page/product-without-rightbar.phtml');
$this->getLayout()->getBlock('content')->append($block);
$this->renderLayout();
}
}
答案 0 :(得分:2)
默认前端/商店路由就像这样工作
http://example.com/front-name/controller-name/action-name
所以,当你去
http://example.com/hostsale
你真的在说
http://example.com/hostsale/index/index
前端概念有点抽象,但实际上是将URL绑定到特定模块。
因此,如果IndexController.php
的方法名为hotsaleAction
,并且您想要执行此方法,请使用表单中的网址
http://example.com/hotsale/index/hotsale