如何在 Magento 中创建一个简单的“Hello World”模块? - 404 错误

Posted

技术标签:

【中文标题】如何在 Magento 中创建一个简单的“Hello World”模块? - 404 错误【英文标题】:How to create a simple 'Hello World' module in Magento? - 404 Error 【发布时间】:2015-07-23 15:20:33 【问题描述】:

我正在关注 answer 到 *** 问题 576908,但我似乎遇到了 404 错误。有谁知道我做错了什么。即初学者的错误?

索引控制器:

    <?php
      class MyCompanyName_HelloWorld_IndexController extends         Mage_Core_Controller_Front_Action
    public function indexAction()
        echo "We're echoing just to show that this is what's called, normally you'd have some kind of redirect going on here";
    

Config.xml:

<?xml version="1.0"?>
  <config>
 <modules>
    <mycompanyname_helloworld>
        <version>
            0.1.0
        </version>
    </mycompanyname_helloworld>
</modules>
<frontend>
    <routers>
        <!-- the <helloworld> tagname appears to be arbitrary, but by
        convention is should match the frontName tag below-->
        <helloworld>
            <use>standard</use>
            <args>
                <module>MyCompanyName_HelloWorld</module>
                <frontName>helloworld</frontName>
            </args>
        </helloworld>
    </routers>
</frontend>
</config>

在 app/etc/modules 中:

<?xml version="1.0"?>
<config>
<modules>
    <MyCompanyName_Helloworld>
        <active>true</active>
        <codePool>community</codePool>
    </MyCompanyName_Helloworld>
</modules>
</config>

我一直收到一个

404 错误

当我点击网址时 magento.dev/index.php/helloworld //NB 这个url是我的开发机器上的一个虚拟主机。

我正在运行 magento 1.8

【问题讨论】:

【参考方案1】:

确保配置中的所有内容都一致命名(例如在骆驼情况下):

/app/etc/modules/MyCompanyName_HelloWorld.xml

<?xml version="1.0"?>
<config>
<modules>
    <MyCompanyName_HelloWorld>
        <active>true</active>
        <codePool>community</codePool>
    </MyCompanyName_HelloWorld>
</modules>
</config>

/app/code/community/MyCompanyName/HelloWorld/etc/config.xml:

<?xml version="1.0"?>
<config>
    <modules>
        <MyCompanyName_HelloWorld>
            <version>
                0.1.0
            </version>
        </MyCompanyName_HelloWorld>
    </modules>
...

对此的完整调用将是 magento.dev/index.php/helloworld/index/index/。

这些应该也可以:

magento.dev/index.php/helloworld/index/

magento.dev/index.php/helloworld/

让它为我工作。

【讨论】:

这应该可以。此外,不要忘记清除缓存或禁用它们:)【参考方案2】:

试试 magento.dev/index.php/helloworld/index 您在 url 中传递了 frontName,但没有将控制器名称传递给 url。 顺便说一句,为您的扩展使用本地代码拉取。

【讨论】:

Statichny,这不起作用。此外,我正在尝试构建一个社区扩展,因此根据 magento 文档,我的代码应该存在于社区目录中

以上是关于如何在 Magento 中创建一个简单的“Hello World”模块? - 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

在 magento 1.9.2 中创建自定义顶部菜单

单击下拉选项 magento 1.7.0.2 在管理面板中创建网格

php 在Magento 2中创建客户属性

php 在Magento 2中创建客户属性

php 在Magento 2中创建客户属性

php 在Magento 2控制器中创建面包屑