Magento getURL не находит контроллер пользовательского модуля

Я добавляю новое массовое действие для сетки заказов на продажу, и когда я добавляю URL для моего действия, Magento не может найти мой контроллер.

config.xml

<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>

observer.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/")
        ));
    }
}

Всякий раз, когда я пытаюсь использовать свое массовое действие, оно отправляет меня на страницу перенаправления 404 с URL

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

1 ответ

Я думаю, что ваш 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> 
Другие вопросы по тегам