2017-08-14 106 views
1

我有点卡在我的发展。我试图添加一个新的批量行动到管理员的订单,但我总是返回404。我尝试了多种方法,但从来没有成功..希望你们中的一些人可以告诉我我做错了什么,以及如何解决它。Magento - 添加管理员质量

我的config.xml

<modules> 
    <plusshop_shipmentcontrol> 
     <version>0.1.0</version> 
    </plusshop_shipmentcontrol> 
</modules> 

<global> 
    <models> 
     <shipmentcontrol> 
      <class>Plusshop_ShipmentControl_Model</class> 
     </shipmentcontrol> 
    </models> 
</global> 

<admin> 
    <routers> 
     <shipmentcontrol> 
      <use>admin</use> 
      <args> 
       <module>Plusshop_ShipmentControl</module> 
       <frontName>shipmentcontrol</frontName> 
      </args> 
     </shipmentcontrol> 
    </routers> 
</admin> 

<adminhtml> 
    <events> 
     <!-- Before rendering event --> 
     <core_block_abstract_prepare_layout_before> 
      <observers> 
       <plusshop_shipmentcontrol_add> 
        <type>singleton</type> 
        <class>shipmentcontrol/observer</class> 
        <method>addMassExport</method> 
       </plusshop_shipmentcontrol_add> 
      </observers> 
     </core_block_abstract_prepare_layout_before> 
    </events> 
</adminhtml> 

我的模型/ Observer.php:

<?php 

class Plusshop_ShipmentControl_Model_Observer 
{ 
    public function addMassExport(Varien_Event_Observer $observer) 
    { 
     $block = $observer->getEvent()->getBlock(); 

     if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction && $block->getRequest()->getControllerName() == 'sales_order') 
     { 
      $block->addItem('shipmentcontrolall', array(
       'label' => 'Create all shipments (GLS, DAO)', 
       'url' => Mage::app()->getStore()->getUrl('*/shipmentcontrol/massactions/index') 
      )); 
     } 
    } 
} 

最后我MassActionsController.php

<?php 

require_once 'Mage/Adminhtml/controllers/Action.php'; 

class Plusshop_ShipmentControl_MassActionsController extends Mage_Adminhtml_Controller_Action { 

    public function indexAction() { 

     // $orderIds = $this->getRequest()->getPost('order_ids', array()); 

     $this->_redirect('adminhtml/sales_order/'); 

    } 

} 

真的希望你们中的一些可以告诉什么即时通讯做错了什么?感觉就像我尝试了一切,但没有运气。我误解了什么或错在哪里?

Regards Kevin。

+0

没有人知道什么是错的?不能确定:/ –

回答

1

替换:

<admin> 
    <routers> 
     <shipmentcontrol> 
      <use>admin</use> 
      <args> 
       <module>Plusshop_ShipmentControl</module> 
       <frontName>shipmentcontrol</frontName> 
      </args> 
     </shipmentcontrol> 
    </routers> 
</admin> 

有:

<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <modules> 
        <Plusshop_ShipmentControl after="Mage_Adminhtml">Plusshop_ShipmentControl</Plusshop_ShipmentControl> 
       </modules> 
      </args> 
     </adminhtml> 
    </routers> 
</admin> 

您应该能够访问你的页面:yoururl.com/admin/massactions/index(如果你使用不同的路径来管理替换/管理部分)。

+0

谢谢!我解决了这个问题:) –