0

私は Magento のマスグリッド オプションに取り組んでいます。問題は、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] に送信済み] は問題なく表示されます。私は私のURLにこれを持っているので:$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 がトリガーするはずのメールが届かないからです。

何かご意見は?

4

0 に答える 0