0

我正在为销售订单网格添加一个新的批量操作,当我为我的操作输入 url 时,Magento 找不到我的控制器。

配置文件

<admin>
    <routers>
        <mymodule>
        <use>admin</use>
        <args>
            <module>Namespace_mymodule</module>
            <frontName>frontendname</frontName>
        </args>
        </mymodule>
    </routers>
</admin>

<global>
    <events>
        <adminhtml_block_html_before>
        <observers>
            <mymodule>
            <class>Namespace_mymodule_Model_Observer</class>
            <method>addActions</method>
            </mymodule>
        </observers>
        </adminhtml_block_html_before>
    </events>
</global>

观察者.php

public function addActions($event)
{
    $block = $event->getBlock();
    if($block instanceof Mage_Adminhtml_Block_Sales_Order_Grid)
    {
        $block->getMassactionBlock()->addItem('cpsync', array(
            'label' => 'Push Orders to CounterPoint',
            'url' => Mage::helper("adminhtml")->getUrl("frontendname/adminhtml_index/push/")
        ));
    }
}

每当我尝试使用我的集体行动时,它会将我发送到带有 url 的 404 重定向页面

sitename.com/index.php/frontendname/adminhtml_index/push/key/

4

1 回答 1

0

我认为您的 config.xml 是错误的。在上面的 config.xml 中,您没有提到模型、块或助手类。您刚刚声明了模块和事件。这是您必须遵循的基本 config.xml。尝试如下修改您的 config.xml。

    <?xml version="1.0"?>
<config>
    <modules>
        <Test_Helloworld>
            <version>0.1.0</version>
        </Test_Helloworld>
    </modules>
    <frontend>
        <routers>
            <helloworld>
                <use>standard</use>
                <args>
                    <module>Test_Helloworld</module>
                    <frontName>helloworld</frontName>
                </args>
            </helloworld>
        </routers>
        <layout>
            <updates>
                <helloworld>
                    <file>helloworld.xml</file>
                </helloworld>
            </updates>
        </layout>
    </frontend>
    <global>
        <blocks>
            <helloworld>
                <class>Test_Helloworld_Block</class>
            </helloworld>
        </blocks>
        <helpers>
            <helloworld>
                <class>Test_Helloworld_Helper</class>
            </helloworld>
        </helpers>
    </global>
</config> 
于 2014-02-08T06:32:57.283 回答