嗨,我想創建一個自定義表單從用戶那裏得到輸入,我可以從網址訪問形式:怎麼做Magento的URL訪問工作
http://localhost/website/index.php/contest
,但是當我把它上傳到了服務器在magento多個網站設置,我無法像我以前在本地服務器上訪問表單。
http://www.website.org/index.php/contest
我很爲難,我撞牆我GOOGLE了,我只是不知道要尋找什麼,任何幫助將不勝感激。提前感謝任何人
嗨,我想創建一個自定義表單從用戶那裏得到輸入,我可以從網址訪問形式:怎麼做Magento的URL訪問工作
http://localhost/website/index.php/contest
,但是當我把它上傳到了服務器在magento多個網站設置,我無法像我以前在本地服務器上訪問表單。
http://www.website.org/index.php/contest
我很爲難,我撞牆我GOOGLE了,我只是不知道要尋找什麼,任何幫助將不勝感激。提前感謝任何人
Magento路由是一個很大的話題涵蓋在一個堆棧溢出的答案。您可以閱讀有關setting up a controller here和probably in too much depth routing process here的基本知識。
這就是說,這裏有一些一般的調試技巧。
Magento可以看到你的控制器是模塊的一部分嗎?如果不是,您可能會錯過app/etc/modules
中的文件。 (看看系統 - >配置 - >高級 - >禁用模塊輸出中的模塊列表)
如果你的模塊已安裝,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的不能找到和/或包含控制器類文件。