1

注文をエクスポートするための拡張機能である Blue Jalappeno Order Export を使用していますが、これはうまく機能します。フルフィルメント会社で機能するように出力形式オプションの 1 つを変更しましたが、うまく機能しています。

ここで、別の形式を使用する別のエクスポートが必要です。私はフォーマットをかなり釘付けにしています。私の問題は、注文グリッドで新しい massAction を呼び出すことです。これは、プルダウンに新しいアクション #2 を表示するために機能します。

class Webshopapps_Ordermanager_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid
{
  protected function _prepareMassaction()
  {
    parent::_prepareMassaction();
    if (Mage::getStoreConfig("order_export/export_orders/active")) {

        $this->getMassactionBlock()->addItem('ordermanager', array(
             'label'=> Mage::helper('sales')->__('Export orders IFS'),
             'url'  => $this->getUrl('*/sales_order_export/csvexport'),
        ));
    }

    if (Mage::getStoreConfig("order_export/export_orders2/active")) {

        $this->getMassactionBlock()->addItem('ordermanager2', array(
             'label'=> Mage::helper('sales')->__('Export orders QB'),
             'url'  => $this->getUrl('*/sales_order_export/qbexport'),
        ));
    }
  }
}

最初の作業中のエクスポートは引き続き機能します。2 つ目は表示され、選択して送信できますが、動作が異なります。最初の URL (/admin/sales_order/index) は変更されていませんが、ダウンロード ボックスが表示されます。2 番目の URL が admin/sales_order_export/qbexport/ に変更され、白い画面が表示されます

私がやりたいのは、同じコントローラーで別のメソッドを呼び出すことです。または、パラメーターを 1 つのメソッドに渡します。

私が試していること: 最初の addItem に使用されたのと同じコントローラーにメソッドを追加しました。

class Webshopapps_Ordermanager_Sales_Order_ExportController extends Mage_Adminhtml_Controller_Action
{
public function csvexportAction()  // First working mass action
{
$orders = $this->getRequest()->getPost('order_ids', array());

switch(Mage::getStoreConfig('order_export/export_orders/output_type')){
    case 'Multi':
    $file = Mage::getModel('webshopapps_ordermanager/export_multi')->exportOrders($orders);
    $this->_prepareDownloadResponse($file, file_get_contents(Mage::getBaseDir('export').'/'.$file));
    break;

    case 'Standard':
    $file = Mage::getModel('webshopapps_ordermanager/export_csv')->exportOrders($orders);
    $this->_prepareDownloadResponse($file, file_get_contents(Mage::getBaseDir('export').'/'.$file));
    break;

    }
}
public function qbexportAction()  
{
$orders = $this->getRequest()->getPost('order_ids', array());
switch(Mage::getStoreConfig('order_export/export_orders/output_type2')){
    case 'Qb':
    $file = Mage::getModel('webshopapps_ordermanager/export_qb')->exportOrders($orders);
    $this->_prepareDownloadResponse($file, file_get_contents(Mage::getBaseDir('export').'/'.$file));
    break;

    case 'Standard':
        $file = Mage::getModel('webshopapps_ordermanager/export_csv')->exportOrders($orders);
    $this->_prepareDownloadResponse($file, file_get_contents(Mage::getBaseDir('export').'/'.$file));
    break;
    case 'Mscrm':
    $file = Mage::getModel('webshopapps_ordermanager/export_mscrm')->exportOrders($orders);
    $this->_prepareDownloadResponse($file, file_get_contents(Mage::getBaseDir('export').'/'.$file)); 
    break;

    }
}

そしてconfig.xml。最初の大虐殺が正しいコントローラーとアクションを呼び出す理由を見て、理解していませんが、2番目はそうではありません。私が修正する必要があるという私の理解の誤り。

<config>
<modules>
    <Webshopapps_Ordermanager>
        <version>0.0.1</version>
    </Webshopapps_Ordermanager>
</modules>
 <global>
    <models>
        <webshopapps_ordermanager>
            <class>Webshopapps_Ordermanager_Model</class>
        </webshopapps_ordermanager>
    </models>
    <helpers>
    <webshopapps_ordermanager>
        <class>Webshopapps_Ordermanager_Helper</class>
    </webshopapps_ordermanager>
    </helpers>
     <blocks>
        <adminhtml>
            <rewrite>
                <sales_order_grid>Webshopapps_Ordermanager_Block_Sales_Order_Grid</sales_order_grid>
            </rewrite>
        </adminhtml>
    </blocks>
</global>
<admin>
     <routers>
        <adminhtml>
            <args>
                <modules>
                    <Webshopapps_Ordermanager before="Mage_Adminhtml">Webshopapps_Ordermanager</Webshopapps_Ordermanager>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>
<adminhtml>
    <translate>
        <modules>
            <Webshopapps_Ordermanager>
                <files>
                    <default>Webshopapps_Ordermanager.csv</default>
                </files>
            </Webshopapps_Ordermanager>
        </modules>
    </translate>
    <default>
    <ordermanager>
    <condition_name>order_export</condition_name>
    </ordermanager>
    </default>
    <acl>
        <resources>
            <admin>
                <children>
                    <system>
                        <children>
                            <config>
                                <children>
                                    <order_export>
                                        <title>Export Orders</title>
                                    </order_export>
                                </children>
                            </config>
                        </children>
                    </system>
                </children>
            </admin>
        </resources>
    </acl>
</adminhtml>
</config>
4

0 に答える 0