我正在研究Magento中的massgrid选项。问题是我的indexController没有加载。我认为我的课程申报存在问题。
这是我的config.xml
<config>
<global>
<blocks>
<adminhtml>
<rewrite>
<sales_order_grid>Comp_Dhl_Block_Sales_Order_Grid</sales_order_grid>
</rewrite>
<events>
<core_block_abstract_prepare_layout_before>
<observers>
<Dhl_core_block_abstract_prepare_layout_before>
<class>Dhl/observer</class>
<method>addMassAction</method>
</Dhl_core_block_abstract_prepare_layout_before>
</observers>
</core_block_abstract_prepare_layout_before>
</events>
</adminhtml>
</blocks>
<admin>
<routers>
<todhl>
<use>admin</use>
<args>
<module>Comp_Dhl</module>
<frontName>todhl</frontName>
</args>
</todhl>
</routers>
</admin>
</global>
</config>
这是我的Grid.php
class Comp_Dhl_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid
{
protected function _prepareMassaction()
{
parent::_prepareMassaction();
$this->getMassactionBlock()->addItem(
'to_dhl',
array('label' => $this->__('Sent to [DHL]'),
'url' => $this->getUrl('/*/*/toDhl'),
)
);
}
}
质量选项:“发送到[DHL]”显示正常。因为我在我的网址中有这个:$this->getUrl('/*/*/toDhl')
我必须将public function toDhlAction()
添加到我的indexController.php
我的indexController.php看起来像:
class Comp_Dhl_IndexController extends Mage_Adminhtml_Controller_Action
{
public function toDhlAction(){
mail('to@me.com', 'controller works', 'the mass action controller works');
$this->_redirect('*/*/index');
}
}
这就是问题,因为我没有收到indexController.php应该触发的电子邮件。
有什么想法吗?