将文件上载到Magento后端的媒体文件夹

时间:2015-02-01 19:47:40

标签: magento file-upload module backend

我一直在尝试使用上传表单找到在Magento media文件夹的子文件夹中上传简单文本文件的最佳方法。我的想法是将自己的菜单项添加到Magento后端,该后端在后端用户点击时显示简单的上传表单。此表单应允许用户从其计算机中选择文本文件,然后将其上载到media文件夹中。

我做了很多研究并找到了this promising tutorial。我目前在Magento开发方面没有经验,但我相信我可以通过在这里和那里调整这些代码来实现我的想法。但是,在尝试弄清楚它是如何工作的时候,我遇到了几个问题。

首先,作者提到:“首先假设您使用模块创建者创建了一个自定义模块。”我以为他指的是this one。所以,我创建了一个模块,只有“需要后端页面”设置为“是”。在本教程的后续步骤中,我应该编辑/app/code/local/Company/ModName/Block/Adminhtml/ModName/Edit/Form.php,但该文件不存在于自动创建的自定义模块的任何目录中。唯一存在的文件/文件夹是:

- Company_ModName
    - app
        - code
        |   -local
        |       - Company
        |            - ModName
        |               - Block
        |               |   - Adminhtml
        |               |       - ModNamebackend.php
        |               - controllers
        |               |   - Adminhtml
        |               |       - ModnamebackendController.php
        |               - etc
        |               |   - config.xml
        |               - Helper
        |                   - Data.php
        - design
        |   - adminhtml
        |       - default
        |           - default
        |               - layout
        |               |   - modname.xml
        |               - template
        |                   - modname
        |                       - modnamebackend.phtml
        - etc
            - modules
                - Company_ModName.xml

然后,在本教程的下一步中,在/app/code/local/Company/ModName/controllers/Adminhtml/ModuleNameController.php中我假设/app/code/local/Company/ModName/controllers/Adminhtml/ModnamebackendController.php相同的文件(如上所示),我应该在if ($data = $this->getRequest()->getPost()) { saveAction()之后添加一些代码。我无法在任何地方找到这个if声明。

这怎么可能?我做错了什么,我该怎么做才能解决它?在此先感谢:)

1 个答案:

答案 0 :(得分:0)

假设您仍然想知道“从magento admin上传简单文本文件到媒体文件夹的最佳方法”,这就是我要做的:

  • 创建一个模块,使其依赖于Mage_Cms
  • 添加模块的config.xml(或adminhtml.xml),如下所示:

<config>
     <adminhtml>                
        <cms>
            <browser>               
                <extensions>
                    <allowed>
                        <txt>1</txt>                        
                    </allowed>                    
                </extensions>                
            </browser>
        </cms>
    </adminhtml>       
</config>
然后您可以使用标准的magento上传。