导入按钮 + magento 管理产品网格中的文件浏览字段

发布于 2024-09-29 20:14:11 字数 174 浏览 7 评论 0原文

我想在 magento admin 的产品网格页面中的“添加产品”按钮旁边添加一个“导入”按钮和一个文件浏览按钮。

当用户选择文件并单击“导入”按钮时 我将文件上传到 var/import,打开一个新选项卡并运行导入配置文件。

如何将表单(导入按钮+文件浏览字段)添加到网格顶部?

谢谢

I want to add an Import button and a file browse button next to the Add Product button in the product grid page in magento admin.

When the user choose a file and clicks the Import button
I'll upload the file to var/import, open a new tab and run the import profile.

How can I add the form (import button + file browse field) to the top of the grid?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蘑菇王子 2024-10-06 20:14:11

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

Use XML Layouts to set your custom template for product grid container block and add your custom form block there. You need to extend adminhtml_catalog_product_index layout handle for that:

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

Then you need to define your block and template. Your custom block should be extended from Mage_Adminhtml_Block_Widget_Form and template should be a copy of adminhtml/default/default/template/catalog/product.phtml but with modifications to display your custom block, like in the following example:

<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>
弥繁 2024-10-06 20:14:11

您可以使用 Mage_Adminhtml_Block_Widget_Container::addButton() 来执行此操作。搜索 magento 的代码以调用此函数,了解如何使用它,创建您自己的容器块,通过使用布局文件用它替换 magento 的产品容器块,然后就完成了。

you can use Mage_Adminhtml_Block_Widget_Container::addButton() to do this. Search magento's code for calls to this function to see how it should be used, create your own container block, replace magento's container block for the product with it by using a layout file and you're done.

时光是把杀猪刀 2024-10-06 20:14:11

你好
没错,使用 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 允许您设置点击此按钮时您想去的目标。

Hi
thats right use Mage_Adminhtml_Block_Widget_Container::addButton() method & here is the syntax

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

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

of course u can have any label & id of button that u want. setLocation allows u to set the target where u want to go when u click on this button.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文