1

magentoadminの製品グリッドページの[製品の追加]ボタンの横に[インポート]ボタンとファイル参照ボタンを追加したいと思います。

ユーザーがファイルを選択して[インポート]ボタンをクリックすると、ファイルがvar / importにアップロードされ、新しいタブが開いてインポートプロファイルが実行されます。

フォーム(インポートボタン+ファイル参照フィールド)をグリッドの上部に追加するにはどうすればよいですか?

ありがとう

4

3 に答える 3

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>
于 2010-11-04T15:49:27.800 に答える
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 このボタンをクリックすると、行きたい場所にターゲットを設定できます。

于 2011-04-11T08:48:59.053 に答える
0

これを行うために使用できますMage_Adminhtml_Block_Widget_Container::addButton()。この関数の呼び出しについてmagentoのコードを検索して、その使用方法を確認し、独自のコンテナーブロックを作成し、レイアウトファイルを使用して製品のmagentoのコンテナーブロックを置き換えれば完了です。

于 2010-11-02T16:42:58.740 に答える