创建Magento Hello World

时间:2015-09-29 19:34:03

标签: magento

在Magento中创建一个简单的问候语并需要一些帮助。我可以使用我的IndexController在白色屏幕上显示“Hello World”,但每当我尝试使用默认主题时,我什么也得不到。

我的文件如下 本地

New
  Helloworld
    Block
      Helloworld.php
    controllers
      IndexControllers.php
    etc
      config.xml

App
  design
    frontend
      default
        layout
          helloworld.xml
        template
          helloworld
            helloworld.phtml

这是我的配置

    <?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <New_Helloworld>
            <version>0.0.1</version>
        </New_Helloworld>
    </modules>
    <frontend>
        <routers>
            <helloworld>
                <use>standard</use>
                <args>
                    <module>New_Helloworld</module>
                    <frontName>helloworld</frontName>
                </args>
            </helloworld>
        </routers>
        <layout>
            <updates>
                <helloworld>
                      <file>helloworld.xml</file>
                </helloworld>
            </updates>
        </layout>  
    </frontend>
    <global>
        <blocks>
            <helloworld>
                <rewrite>
                     <helloworld>New_Helloworld_Block_Helloworld</helloworld>
                </rewrite>
            </helloworld>
         </blocks>
    </global>
</config>

这是我的helloworld.xml

<?xml version="1.0"?>

    <layout version="0.1.0">

        <helloworld_index_index>
            <reference name="root">
                <action method="setTemplate"><template>page/1column.phtml</template></action>
            </reference>
            <reference name="content">
                <block type="helloworld/helloworld" name="hello" template="helloworld/helloworld.phtml"/>
            </reference>
        </helloworld_index_index>

    </layout>

我在设计中有一个简单的echo hello world / default / default / template / helloworld / helloworld.phtml

我的IndexController文件如下

<?php
class New_Helloworld_IndexController extends Mage_Core_Controller_Front_Action
{
     public function indexAction()
     {
         $this->loadLayout();
         $this->renderLayout();
     }
}

2 个答案:

答案 0 :(得分:0)

我想你错过了活跃你的模块。在app/etc/module/中创建名为New_Helloworld.xml

的xml文件
<config>
    <modules>
        <New_Helloworld>
            <active>true</active>
            <codePool>local</codePool>
        </New_Helloworld>
    </modules>
</config>
  

更新

替换

<rewrite>
   <helloworld>New_Helloworld_Block_Helloworld</helloworld>
</rewrite>

 <helloworld>
    <class>New_Helloworld_Block</class>
 </helloworld>
<{1>}和

中的

替换

config.xml

    <reference name="content">
        <block type="helloworld/helloworld" name="hello" template="helloworld/helloworld.phtml"/>
    </reference>

这可能对你有帮助。

答案 1 :(得分:0)

弄清楚我做错了什么......我在前端/默认但是当我把.phtml放在fronterwd时