2015-10-15 64 views
0

我的PHP版本是5.5.11 而且一切都是最新的。Magento:錯誤404在插件

我的插件顯示在管理面板,但是當我訪問的URL它給了我錯誤404 網址:<sitename>/index.php/module/index

Testplugin_Module在管理面板啓用。

這裏是配置文件: 區域設置/ Testplugin /模塊的/ etc/config.xml中

<?xml version="1.0"?> 
    <config> 
     <modules> 
      <Testplugin_Module> 
       <version>0.1.0</version> <!-- Version number of your module --> 
      </Testplugin_Module> 
     </modules> 
     <frontend> 
      <routers> 
       <module> 
        <use>standard</use> 
        <args> 
         <module>Testplugin_Module</module> 
         <frontName>module</frontName> 
        </args> 
       </module> 
      </routers> 
<layout> 
      <updates> 
       <module> 
        <file>module.xml</file> <!-- Our layout file name--> 
       </module> 
      </updates> 
     </layout> 
    </frontend> 
    <global> 
     <blocks> 
      <module> 
       <class>Testplugin_Module_Block</class> 
      </module> 
     </blocks> 
    </global> 
    </config> 

這裏是插件: 應用的/ etc /模塊/ Testplugin_Module.xml

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Testplugin_Module> 
     <active>true</active> 
     <codePool>local</codePool> 
     </Testplugin_Module> 
    </modules> 
</config> 

這裏是索引控制器: locale/Testplugin/Module/controllers/IndexController.php

<?php 
class Testplugin_Module_IndexController extends Mage_Core_Controller_Front_Action 
{ 
    public function indexAction() 
    { 
     echo "Hello tuts+ World"; 
    } 
} 
?> 

我已經從管理面板禁用了緩存,並且我嘗試了重新啓動燈泡,並且我也嘗試登錄並註銷,但仍然沒有成功。 不知道什麼是錯的,任何幫助將不勝感激。

編輯:

做出的佈局: 我在應用程序/設計/前端/基/默認/佈局/ module.xml

<?xml version="1.0"?> 
    <layout version="0.1.0"> 
     <module_index_index> 
      <reference name="content"> 
       <block type="module/module" name="module" template="module/module.phtml" /> 
      </reference> 
     </module_index_index> 
    </layout> 

模板所做的佈局: 應用程序/設計/前端/base/default/template/module/module.phtml

<?php 
    echo $this->myfunction(); 
?> 

塊:本地/ Testplugin /模塊/塊/ Module.php

<?php 

    class Testplugin_Module_Block_Module extends 

Mage_Core_Block_Template 
     { 
      public function myfunction() 
      { 
       return "Hello tuts+ world"; 
      } 
    } 

?> 

回答

2

首先在您的Testplugin_Module.xml中添加版本,這樣magneto可以識別它是哪個版本,並且您是否想要更新以便可以。

Testplugin_Module.xmlapp\etc\modules

<?xml version="1.0"?> 
<config> 
    <modules> 
    <Testplugin_Module> 
     <active>true</active> 
     <codePool>local</codePool> 
     <version>0.1.0</version> 
    </Testplugin_Module> 
    </modules> 
</config> 

的index.phpapp\code\local\Testplugin\Module\Block

<?php 
class Testplugin_Module_Block_Index extends Mage_Core_Block_Template{ 





} 

的IndexController。PHPcode\local\Testplugin\Module\controllers

<?php 
class Testplugin_Module_IndexController extends Mage_Core_Controller_Front_Action{ 
    public function IndexAction() { 

     $this->loadLayout(); 
     $this->getLayout()->getBlock("head")->setTitle($this->__("module")); 
      $breadcrumbs = $this->getLayout()->getBlock("breadcrumbs"); 
     $breadcrumbs->addCrumb("home", array(
       "label" => $this->__("Home Page"), 
       "title" => $this->__("Home Page"), 
       "link" => Mage::getBaseUrl() 
      )); 

     $breadcrumbs->addCrumb("module", array(
       "label" => $this->__("module"), 
       "title" => $this->__("module") 
      )); 

     $this->renderLayout(); 

    } 
} 

的config.xmlapp\design\frontend\base\default\layout

<?xml version="1.0"?> 
<config> 
    <modules> 
    <Testplugin_Module> 
     <version>0.1.0</version> 
    </Testplugin_Module> 
    </modules> 
    <frontend> 
    <routers> 
     <module> 
     <use>standard</use> 
      <args> 
      <module>Testplugin_Module</module> 
      <frontName>module</frontName> 
      </args> 
     </module> 
    </routers> 
     <layout> 
      <updates> 
      <module> 
       <file>module.xml</file> 
      </module> 
      </updates> 
     </layout> 
    </frontend> 
    <global> 
    <blocks> 
     <module> 
     <class>Testplugin_Module_Block</class> 
     </module> 
    </blocks> 
    </global> 
</config> 

module.xmlapp\design\frontend\base\default\layout

<?xml version="1.0"?> 
<layout version="0.1.0"> 
    <module_index_index> 
    <reference name="root"> 
     <action method="setTemplate"><template>page/1column.phtml</template></action> 
    </reference> 
    <reference name="content"> 
     <block type="module/index" name="module_index" template="module/index.phtml"/> 
    </reference> 
    </module_index_index> 
</layout> 

index.phtmlapp\design\frontend\base\default\template\module

Hi, I am there!! 

我認爲它現在開始工作。

+1

@ user1735921:它工作嗎? – urfusion

+0

沒有工作,仍然在404 .. – user1735921

+1

把'die('here')'放在'public function indexAction()'中。並檢查它是否打印'here'? – urfusion

0

你缺少定義佈局文件爲模塊,以及在config.xml文件中定義佈局標籤

我曾嘗試下面的代碼,而無需渲染布局它做工精細

Testplugin_Module.xml 
 

 
<?xml version="1.0"?> 
 
<config> 
 
    <modules> 
 
     <Testplugin_Module> 
 
     \t <active>true</active> 
 
     \t <codePool>local</codePool> 
 
     </Testplugin_Module> 
 
    </modules> 
 
</config> 
 

 

 
config.xml 
 

 
<?xml version="1.0"?> 
 
    <config> 
 
     <modules> 
 
      <Testplugin_Module> 
 
       <version>0.1.0</version> <!-- Version number of your module --> 
 
      </Testplugin_Module> 
 
     </modules> 
 
     <frontend> 
 
      <routers> 
 
       <module> 
 
        <use>standard</use> 
 
        <args> 
 
         <module>Testplugin_Module</module> 
 
         <frontName>module</frontName> 
 
        </args> 
 
       </module> 
 
      </routers> 
 
    \t </frontend> 
 
</config> 
 

 
IndexController.php 
 

 
<?php 
 
class Testplugin_Module_IndexController extends Mage_Core_Controller_Front_Action 
 
{ 
 
    public function indexAction() 
 
    { 
 
     echo "Hello tuts+ World"; 
 
\t exit; 
 
    } 
 
} 
 
?>

+0

添加布局,編輯上面的代碼,請檢查,仍然給錯誤404 – user1735921

+0

您使用哪個網址? – user1735921

+0

http://localhost/testmagento/index.php/module這裏確保testmagento是我的magento安裝文件夾替換它與您的安裝文件夾名稱 –