2010-11-02 26 views
0

我想在magento admin的產品網格頁面中的添加產品按鈕旁邊添加一個導入按鈕和一個文件瀏覽按鈕。導入按鈕+ magento中管理產品網格中的文件瀏覽字段

當用戶選擇一個文件,然後單擊導入按鈕 我會將文件上傳到var/import,打開一個新選項卡並運行導入配置文件。

如何將表單(導入按鈕+文件瀏覽字段)添加到網格頂部?

感謝

+0

我有兩個選擇:1.點擊導入按鈕將彈出一個帶有文件瀏覽字段和提交/取消按鈕的js窗口。 magento中的js lib非常老,我不確定用什麼來實現這一點。新的js庫很容易,但我不認爲混合庫和版本是一個好主意。 2.導入按鈕將通過簡單的導入表單重定向到新頁面。我想我將不得不使用2. – pablo 2010-11-02 14:53:16

回答

1

使用XML佈局設置產品網格容器塊的自定義模板,並在其中添加自定義表單塊。您需要擴展adminhtml_catalog_product_index佈局手柄爲:

<adminhtml_catalog_product_index> 
    <reference name="product_list"> 
     <!-- Set your custom template --> 
     <action method="setTemplate"><template>path/to/your_template.phtml</template></action> 
     <!-- Add your custom block --> 
     <block name="import_form" as="import_form" type="your_module/form_block_name"></block> 
    </reference> 
</adminhtml_catalog_product_index> 

然後,您需要定義您的塊和模板。您的自定義模塊應該從Mage_Adminhtml_Block_Widget_Form和模板進行擴展應該是adminhtml/default/default/template/catalog/product.phtml副本,但與修改下面的示例顯示自定義模塊,如:

<div class="content-header"> 
<table cellspacing="0"> 
    <tr> 
     <td style="width:50%;"><h3 class="icon-head head-products"><?php echo Mage::helper('catalog')->__('Manage Products') ?></h3></td> 
     <td class="a-right"> 
      <?php echo $this->getButtonsHtml() ?> 
     </td> 
    </tr> 
</table> 
</div> 
<!-- Start of Displaying of your custom import form --> 
<?php echo $this->getChildHtml('import_form');?> 
<!-- End of Displaying of your custom import form --> 
<?php if(!$this->isSingleStoreMode()): ?> 
<?php echo $this->getChildHtml('store_switcher');?> 
<?php endif;?> 
<div> 
    <?php echo $this->getGridHtml() ?> 
</div> 
0

可以使用Mage_Adminhtml_Block_Widget_Container::addButton()做到這一點。搜索magento的代碼調用這個函數,看看它應該如何使用,創建你自己的容器塊,使用佈局文件替換產品的magento容器塊,你就完成了。

+0

Mage_Adminhtml_Block_Widget_Container :: addButton()只會讓我添加一個按鈕。我需要添加一個表單。 – pablo 2010-11-02 17:04:18

0

嗨 這就是正確的使用Mage_Adminhtml_Block_Widget_Container::addButton()方法&這裏是語法

$data = array(
       'label' => 'Import Zipcode Data', 
       'onclick' => "setLocation('".$this->getUrl('*/*/import')."')" 
       ); 

    $this->addButton ('import_zip_code', $data, 0, 100, 'header', 'header'); 

當然你可以有任何標籤&你想要的按鈕的ID。 setLocation允許你設置你想要去的目標,當你點擊這個按鈕。

相關問題