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

时间:2015-07-23 15:20:34

标签: php magento

我跟随answer到stackoverflow问题576908,但我似乎得到了404错误。有谁知道我做错了什么。即初学者错误?

的IndexController:

if (Dag.find().count() === 0) {

Dag.insert({
    name: "a01",
    header: {
        reference: 'A01',
        title: 'Requerimento'
    },
    footer: {
        certificated : '<img alt="Certificação" src="/cert.png">'
    },
    year: '2014',
    version: 'V2.2',
    division: 'DGAC',
    counter: 0,
});

的Config.xml:

    <?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";
    }
}

在app / etc / modules中:

<?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>

我一直在打招呼

  

404错误

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

A screen shot of the 404

我正在运行magento 1.8

2 个答案:

答案 0 :(得分:1)

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

/应用的/ etc /模块/的 MyCompanyName_HelloWorld.xml

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

/应用程序/代码/小区/的 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/

以这种方式为我工作。

答案 1 :(得分:0)

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