簡體   English   中英

在Magento中添加模塊時遇到問題

[英]Problems adding a Module in Magento

我已經完成了一些教程,以在Magento中添加自定義模塊。 我對Magento不太熟悉,但是我嘗試按照在線步驟進行操作。 我正在使用Magento 1.7.0.2。 因此,要添加客戶模塊,我將文件夾Mehul / Helloworld創建到app / core / local

我的Helloworld / etc / config.xml是,

<?xml version="1.0" encoding="UTF-8"?>
<!-- The root node for Magento module configuration -->
<config>

    <!--
        The module's node contains basic
        information about each Magento module
    -->
    <modules>

        <!--
            This must exactly match the namespace and module's folder
            names, with directory separators replaced by underscores
        -->
        <Mehul_Helloworld>

            <!-- The version of our module, starting at 0.0.1 -->
            <version>0.0.1</version>

        </Mehul_Helloworld>

    </modules>

      <!-- This node contains parameters, available on frontend --> 
    <frontend> 
        <!-- Module aliases are located in this block --> 
        <routers> 
            <!-- This node's name should be the same as our alias --> 
            <helloworld> 
                <!-- use parameter specifies which of basic routers needs to be used. 
                This can be "standard" for frontend or "admin" for backend --> 
                <use>standard</use> 
                <!-- router arguments block --> 
                <args> 
                    <!-- This parameter specifies the full name of out module --> 
                    <module>Mehul_Helloworld</module> 
                    <!-- This parameter sets module alias --> 
                    <frontName>helloworld</frontName> 
                </args> 
            </helloworld> 
        </routers> 
    </frontend>

</config>

我的app / etc / Mehul_Helloworld.xml是,

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Mehul_Helloworld>

            <!-- Whether our module is active: true or false -->
            <active>true</active>

            <!-- Which code pool to use: core, community or local -->
            <codePool>local</codePool>

        </Mehul_Helloworld>
    </modules>
</config>

我的控制器文件“ IndexController.php”進入Helloworld / controllers目錄,

<?php 

    class Mehul_Helloworld_IndexController extends Mage_Core_Controller_Front_Action {

        public function indexAction()
        {
            echo "Hello tuts+ World";
        }
        public function testAction()
        {
            echo "test action";
        }
    }
?>

我通過管理面板禁用了所有捕獲功能 ,並且也刷新了它。 我可以在進入系統/配置/高級時看到模塊已啟用,但是嘗試將控制器顯示為

mysite.com/helloworld/index/indexmysite.com/helloworld/index/test然后,我收到一條404錯誤消息,提示找不到頁面!

我現在應該怎么辦?

  • 本地
    • h
      • 你好,世界
        • 控制器
          • IndexController.php
        • 等等
          • config.xml
  • 等等
    • Mehul_Helloworld.xml

嗨,有一個在線工具可以幫助新手創建模塊。 該工具將為您提供壓縮文件。 您可以嘗試一下,看看您在做什么錯誤。

工具網址: http//www.silksoftware.com/magento-module-creator/

您的文件結構看起來有些奇怪。 它應該是app>代碼>本地和app> etc>模塊。 從任務描述中,我可以看到本地文件夾與etc文件夾處於同一級別。 請檢查並修復。 也嘗試在“本地”文件夾名稱中使用小寫字母。

我認為每件事都是正確的,但是您在這里輸入的結構不正確。 但是“ Mehul_Helloworld.xml”文件應該位於

“ app / etc / modules / Mehul_Helloworld.xml”

代替

“ app / etc / Mehul_Helloworld.xml”

那可能就是您的模塊未注冊的原因。

app / etc / Mehul_Helloworld.xml應該是app / etc / modules / Mehul_Helloworld.xml

而且您的代碼必須放入

/ app / code / local / Mehul / Helloworld /

對不起大家!! 效果很好,我輸入了錯誤的URL! 該URL應該為“ mysite.com/store/helloworld”,因為我的magento安裝在安全的存儲目錄中而不是根目錄中。 而且我試圖訪問mysite.com/Helloworld。 在仔細查看目錄結構后才意識到! 無論如何,謝謝大家的回應!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM