gpt4 book ai didi

php - Magento 1.9 创建新的 Hello World 模块

转载 作者:行者123 更新时间:2023-12-02 09:20:28 25 4
gpt4 key购买 nike

大家好!

我真的希望有人能帮助我。
我试图在 magento 1.9.3.2 中创建新模块,显示“Hello world!”来自 phtml 文件。我按照这个规则一步步创建了它。模块已创建,但是当我在浏览器中打开模块(127.0.0.1/magento/helloworld)时,什么也没有出现,只是清空此模板。 opened module in browser - screenshot

以下是我指导的步骤:
1、模块声明: 在 app/etc/modules/M4U_HelloWorld.xml 中创建新的 xml 文件
<?xml version="1.0"?>
<config>
<modules>
<M4U_HelloWorld>
<active>true</active>
<codePool>local</codePool>
</M4U_HelloWorld>
</modules>
</config>

  • 模块配置
    2.1.在 app/code/local/M4U/HelloWorld/controllers/IndexController.php 中创建 Controller 类

    class M4U_HelloWorld_IndexController extends Mage_Core_Controller_Front_Action
    {
    public function indexAction()
    {
    $this->loadLayout(array('default'));
    $this->renderLayout();
    }
    }

  • 2.2。在 app/code/local/M4U/HelloWorld/Block/HelloWorld.php 中创建 Block 类

    class M4U_HelloWorld_Block_HelloWorld extends Mage_Core_Block_Template
    {
    // necessary methods
    }

    2.3。在 app/code/local/M4U/HelloWorld/etc/config.xml 中创建配置 xml

    <?xml version="1.0"?>
    <config>
    <global>
    <modules>
    <m4u_helloworld>
    <version>0.1.0</version>
    </m4u_helloworld>
    </modules>
    <blocks>
    <helloworld>
    <rewrite>
    <helloworld>M4U_HelloWorld_Block_HelloWorld</helloworld>
    </rewrite>
    </helloworld>
    </blocks>
    </global>
    <frontend>
    <routers>
    <helloworld>
    <use>standard</use>
    <args>
    <module>M4U_HelloWorld</module>
    <frontName>helloworld</frontName>
    </args>
    </helloworld>
    </routers>
    <layout>
    <updates>
    <helloworld>
    <file>helloworld.xml</file>
    </helloworld>
    </updates>
    </layout>
    </frontend>

  • 定义前端模板
    3.1.在 app/design/frontend/default/default/layout/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>

  • 在 app/design/frontend/default/default/template/helloworld/helloworld.phtml 中创建模板文件

  • 最佳答案

    经过尝试和测试

    screenshot here

    您可以在自定义模块中显示您的 helloworld 模板,对您的代码进行一些小的修改。

    1. 模块声明:

      <?xml version="1.0"?>
      <config>
      <modules>
      <M4U_HelloWorld>
      <active>true</active>
      <codePool>local</codePool>
      </M4U_HelloWorld>
      </modules>
      </config>
    2. 创建文件夹结构并添加文件

    A. app/code/local/M4U/HelloWorld/etc/config.xml

    <config>
    <modules>
    <m4u_helloworld>
    <version>0.1.0</version>
    </m4u_helloworld>
    </modules>
    <frontend>
    <routers>
    <helloworld>
    <use>standard</use>
    <args>
    <module>M4U_HelloWorld</module>
    <frontName>helloworld</frontName>
    </args>
    </helloworld>
    </routers>
    <layout>
    <updates>
    <helloworld module="M4U_HelloWorld">
    <file>M4U_HelloWorld.xml</file>
    </helloworld>
    </updates>
    </layout>
    </frontend>
    <global>
    <blocks>
    <helloworld>
    <class>M4U_HelloWorld_Block</class>
    </helloworld>
    </blocks>
    </global>
    </config>

    B. app/code/local/M4U/HelloWorld/block/HelloWorld.php

    class M4U_HelloWorld_Block_HelloWorld extends Mage_Core_Block_Template {

    }

    C. app/code/local/M4U/HelloWorld/controllers/IndexController.php

    class M4U_HelloWorld_IndexController extends Mage_Core_Controller_Front_Action {

    public function indexAction() {
    echo 'hello world';
    $this->loadLayout(); //This function read all layout files and loads them in memory
    $this->renderLayout();
    }

    }

    D. app/design/frontend/ * theme base* / * mytheme * /layout/M4U_HelloWorld.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <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>

    E. app/design/frontend/ * theme base* / * mytheme * /template/helloworld/helloworld.php

    echo 'im a template block';

    关于php - Magento 1.9 创建新的 Hello World 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43066724/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com