如何在我的控制器中调用模板文件?

时间:2016-03-22 06:18:33

标签: php magento

我在magento工作。我需要使用csv文件添加导入一些数据。我使用这个url在后端创建了一个模块。     http://inchoo.net/magento/getting-started-with-building-admin-module-in-magento/

当我点击菜单项1时,我正在获得balnk页面。现在我需要创建一个表单文件来添加导入按钮和提交按钮。当用户点击提交按钮时,将触发保存操作。我如何在空白页面上添加我的模板文件?请帮忙。

的Config.xml

<?xml version="1.0"?>

<config>
    <modules>
        <ActiveCodeline_SampleModule1>
            <version>0.1.0</version>
        </ActiveCodeline_SampleModule1>
    </modules>


<global>
        <helpers>
            <SampleModule1>
                <class>ActiveCodeline_SampleModule1_Helper</class>
            </SampleModule1>  
        </helpers>
</global>        


        <admin>
        <routers>
            <samplemodule1>
                <use>admin</use>
                <args>
                    <module>ActiveCodeline_SampleModule1</module>
                    <frontName>samplemodule1</frontName>
                </args>
            </samplemodule1>
        </routers>
    </admin>



    <adminhtml>
        <menu>
            <menu1 translate="title" module="SampleModule1">
                <title>ActiveCodeline SampleModule1</title>
                <sort_order>60</sort_order>
                <children>
                    <menuitem1 module="SampleModule1">
                        <title>Menu item 1</title>
                        <action>samplemodule1/example</action>
                    </menuitem1>
                </children>                
            </menu1>
        </menu>
        <acl>
            <resources>
                <admin>
                    <children>
                        <menu1 translate="title" module="SampleModule1">
                            <title>ActiveCodeline SampleModule1</title>
                            <sort_order>60</sort_order>
                            <children>
                                <menuitem1>
                                    <title>Menu item 1</title>
                                </menuitem1>
                            </children>
                       </menu1>
                   </children>
               </admin>
           </resources>
        </acl>
      <layout>
            <updates>
                <itoris_dynamicproductoptions>
                    <file>activecodeline_samplemodule1.xml</file>
                </itoris_dynamicproductoptions>
            </updates>
        </layout>


    </adminhtml>    





</config>

Layout / activecodeline_samplemodule1.xml

 <?xml version="1.0"?>
<layout version="0.1.0">
    <default>
    </default>
    <samplemodule1_example_index>
        <reference name="content">
            <block type="core/template" name="samplemodule1" template="activecodeline/samplemodule1/custom_import.phtml" />
        </reference>
    </samplemodule1_example_index>
</layout> 

3 个答案:

答案 0 :(得分:0)

您需要在config.xml中添加布局更新

       <layout>
            <updates>
                <mymodule>
                    <file>mymodule.xml</file>
                </mymodule>
            </updates>
        </layout>

在您需要将文件布局(例如mymodule.xml)添加到管理设计命名空间中的包/主题后,目录layout

<?xml version="1.0"?>
    <layout>
      <modules_controller_action>
            <reference name="content">
                <block type="core/template" template="mymodule/template.phtml" />
            </reference>
        </modules_controller_action>
    </layout>

其中modules_controller_action路径指向您的操作,mymodule/template.phtml路径指向您的模板。 改变你的布局

<layout>
    <updates>
        <samplemodul1>
            <file>activecodeline_samplemodule1.xml</file>
        </samplemodul1>
    </updates>
</layout>

在config.xml中,因为您使用了模块名称空间

答案 1 :(得分:0)

这是config.xml中的代码

&#13;
&#13;
 <layout>
            <updates>
                <itoris_dynamicproductoptions>
                    <file>activecodeline_samplemodule1.xml</file>
                </itoris_dynamicproductoptions>
            </updates>
        </layout>
&#13;
&#13;
&#13;

所以你需要在

下创建一个布局文件

&#13;
&#13;
app/design/adminhtml/frontend/default/layout/activecodeline_samplemodule1.xml
&#13;
&#13;
&#13;

对于模板文件,如果您计划创建adminhtml模板,那么 应用程序/设计/ adminhtml /前端/默认/模板/ NAMEOFYOURMODULE / templatefile.phtml

如果您有任何疑问或疑问,请告诉我

由于

答案 2 :(得分:-1)

请检查以下两个控制器功能。其中init布局将呈现breadcrumbs和layout.xml。

protected function _initAction() {
        $this->loadLayout();
        $this->getLayout()->getBlock("content")->setTitle($this->__("Page title"));
        $breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
        $breadcrumbs->addCrumb("home", array(
        "label" => $this->__("Home Page"),
        "title" => $this->__("Home Page"),
        "link"  => Mage::getBaseUrl()
           ));
        $breadcrumbs->addCrumb("custommodule", array(
        "label" => $this->__("Custom Module"),
        "title" => $this->__("Custom Module")
           ));
            return $this;
  }
      public function indexAction() 
       {

                     $this->_initAction();
                     $this->renderLayout();
        }