2011-07-13 17 views
0

圍繞IndexAction去除類會導致服務器錯誤,所以我知道代碼正按預期運行到那一點。Magento模塊IndexController - IndexAction函數404's

class Foo_Bar_IndexController extends Mage_Core_Controller_Front_Action{ 
    public function indexAction(){ 
     echo "<h1>Echo from indexcontroller.</h1>"; 
    } 
} 

理想情況下,回聲會通過裝載模板文件被替換,但我一直停留在它404ing最後2天,只是想過去那種。

我已閱讀了大約一打教程,隨後4完成,但每次都會彈出此問題。 有沒有人有一個想法可能是什麼原因造成的?

編輯 - 對不起,爲簡潔起見。我不確定我應該展開多少頁面。

@ Alan Storm - 我在這裏找到你的教程。 http://alanstorm.com/magento_controller_hello_world(很棒的細節,對理解所有的xml標籤有什麼幫助)。這是該教程的副本,Foo取代了Alanstormdotcom和Bar取代了Helloworld。甚至可以複製/粘貼我結束了同404

這是我目前的配置文件: PATH:應用程序/代碼/本地/美孚/酒吧的/ etc/config.xml文件(編輯:糾正路徑)

<config> 
<modules> 
    <Foo_Bar> 
     <version>0.1.0</version> 
    </Foo_Bar> 
</modules> 
<frontend> 
    <routers> 
     <bar> 
      <use>standard</use> 
      <args> 
       <module>Foo_Bar</module> 
       <frontName>bar</frontName> 
      </args> 
     </bar> 
    </routers> 
</frontend> 
</config> 

編輯--- 最後剩下的文件 路徑:應用程序的/ etc /模塊/ Foo_Bar.xml

<config> 
<modules> 
    <Foo_Bar> 
     <active>true</active> 
     <codePool>local</codePool> 
    </Foo_Bar> 
</modules> 
</config>  
+4

您能否將相對路徑發佈到Bar模塊的magento安裝和模塊的config.xml文件? –

+1

如果您已經閱讀了教程並認爲有人可以用這些小信息回答您的問題,您還沒有閱讀教程。 –

回答

0

你的路徑不正確:

app/etc/modules/Foo/Bar/etc/config.xml 

你應該放在app/etc/modules你的模塊定義文件Foo_Bar.xml和應用程序/代碼的模塊的代碼/地方:

app/code/local/Foo/Bar/etc/config.xml 
app/code/local/Foo/Bar/controllers/IndexController.php 

編輯:爲了訪問控制器,你應該訪問這個網址:

www.example.com/magento-instance/bar/index 

在此之後圖案:

{magento_root}/{magento_module}/{magento_controller}/{magento_action}

+0

對不起。它在你列出的路徑中。我只是複製了錯誤的一個。 – Sam

+0

您使用哪個URL/URI訪問控制器? –

+0

example.com/magento-instance/bar – Sam

2

我認爲你錯過了在URL中添加store_code(我有同樣的問題),可能你已經啓用了來自admin的商店代碼換句話說商店代碼(例如:en,nl等)正在URL中添加。

例:

www.example.com/ 連接 /aaa.html

如果是這樣,那麼請訪問控制器和動作以這種方式:

www.example。COM/store_code/front_name /控制器/動作

例:

www.example.com/ EN /酒吧/指數/指數

+0

你救了我一天! –

+0

我剛剛發現了這個錯誤,謝謝你的回答+1 – tawfekov

0

如果其他答案不幫你,你可能想試試這個路徑模式:

 www.example.com/index.php/frontName/controllerName/actionName 

我不明白他們爲什麼沒有爲這類網址創建重寫規則。

無論如何,上面的模式應該在大多數情況下工作。