2013-04-01 59 views
0

嗨,我想創建一個自定義表單從用戶那裏得到輸入,我可以從網址訪問形式:怎麼做Magento的URL訪問工作

http://localhost/website/index.php/contest 

,但是當我把它上傳到了服務器在magento多個網站設置,我無法像我以前在本地服務器上訪問表單。

http://www.website.org/index.php/contest

我很爲難,我撞牆我GOOGLE了,我只是不知道要尋找什麼,任何幫助將不勝感激。提前感謝任何人

回答

0

Magento路由是一個很大的話題涵蓋在一個堆棧溢出的答案。您可以閱讀有關setting up a controller hereprobably in too much depth routing process here的基本知識。

這就是說,這裏有一些一般的調試技巧。

  1. Magento可以看到你的控制器是模塊的一部分嗎?如果不是,您可能會錯過app/etc/modules中的文件。 (看看系統 - >配置 - >高級 - >禁用模塊輸出中的模塊列表)

  2. 如果你的模塊已安裝,Magento可能找不到你的控制器類。 Eitehr,因爲它不在那裏,你有一個區分大小寫的問題。將一些臨時調試代碼添加到_validateControllerClassName函數中,以確定Magento無法找到您的控制器的原因。

您可以找到_validateControllerClassName功能這裏

#File: app/code/core/Mage/Core/Controller/Varien/Router/Standard.php 
protected function _validateControllerClassName($realModule, $controller) 
{ 
    $controllerFileName = $this->getControllerFileName($realModule, $controller); 
    if (!$this->validateControllerFileName($controllerFileName)) { 
     return false; 
    } 

    $controllerClassName = $this->getControllerClassName($realModule, $controller); 
    if (!$controllerClassName) { 
     return false; 
    } 

    // include controller file if needed 
    if (!$this->_includeControllerClass($controllerFileName, $controllerClassName)) { 
     return false; 
    } 

    return $controllerClassName; 
} 

一些var_dump S中return false條款之前應該告訴你爲什麼Magento的不能找到和/或包含控制器類文件。