2012-04-30 81 views
1

我剛開始學習magento。我發現了一個樣本的HelloWorld模塊代碼在這裏:如何在magento中顯示頁面

http://www.engineer-ing.com/writing-magento-extension-part1/part2

在這裏,我使用的控制器的代碼是:

//app/code/local/Magentotutorial/Helloworld/controllers/IndexController.php 
class Magentotutorial_Helloworld_IndexController extends Mage_Core_Controller_Front_Action {   

    public function indexAction() { 
     $this->loadLayout(); 
     $this->renderLayout(); 
     echo 'Hello Index!'; 
    } 

config.xml的代碼:

//app/code/local/Magentotutorial/Helloworld/etc/config.xml 
<config>  
    <modules> 
     <Magentotutorial_Helloworld> 
      <version>0.1.0</version> 
     </Magentotutorial_Helloworld> 
    </modules> 
    <frontend> 
     <routers> 
      <helloworld> 
       <use>standard</use> 
       <args> 
        <module>Magentotutorial_Helloworld</module> 
        <frontName>helloworld</frontName> 
       </args> 
      </helloworld> 
     </routers> 
     <layout> 
      <updates> 
       <helloworld> 
         <file>helloworld.xml</file> 
       </helloworld> 
      </updates> 
     </layout> 
    </frontend> 
</config> 

helloworld.xml代碼

//app/design/frontend/default/default/layout/helloworld.xml 
<?xml version="1.0"?> 
    <layout version="0.1.0"> 
     <helloworld_index_index> 
      <default> 
       <reference name="content"> 
        <block type="page/html" name="helloworld" output="toHtml" template="helloworld/helloworld.phtml"/> 
       </reference> 
      </default> 
     </helloworld_index_index> 
    </layout> 

HelloWorld.php

class Magentotutorial_HelloWorld_Block_HelloWorld extends Mage_Core_Block_Template 
{ 
    public function getContent() 
     { 
         return ‘informations about my block !!’ ; 
     } 
} 

在helloworld.phtml我只需輸入例如 「hello world所有的U」 的字符串。

它沒有顯示任何錯誤。但是沒有任何內容顯示在頁面上。

我不知道我在哪裏做wrong.Can有人幫我解決顯示頁面

+1

這兩行添加到您的.htaccess文件:'SETENV MAGE_IS_DEVELOPER_MODE'和'的php_flag的display_errors 1' – benmarks

+0

到本教程的鏈接是404你不從的HelloWorld使用塊.php,是嗎?在這段代碼中,你有「wordpress style撇號」(因爲C&P?)。用正常替換它們'。也許這是解決方案的一部分。 – SebiF

回答

2

你的錯誤在佈局XML問題。你沒有必要<default>節點見下文

<?xml version="1.0"?> 
<layout version="0.1.0"> 
    <helloworld_index_index> 
     <reference name="content"> 
      <block type="page/html" name="helloworld" output="toHtml" template="helloworld/helloworld.phtml"/> 
     </reference> 
    </helloworld_index_index> 
</layout> 

塊左右,我不知道你的建設將是工作,如果沒有,嘗試將它替換到:

<block type="core/template" name="helloworld" template="helloworld/helloworld.phtml"/> 

,你忘了聲明塊在config.xml中,見下圖:

<global> 
    <blocks> 
     <helloworld> 
      <class>Magentotutorial_HelloWorld_Block</class> 
     </helloworld> 
    </blocks> 
</global> 

這之後,您可以使用下一個塊聲明:

<block type="helloworld/helloworld" name="helloworld" template="helloworld/helloworld.phtml"/> 

希望這將有助於