2012-01-31 3 views
0

В моей config.xml у меня есть:Magento не отображает пользовательский блок

<config> 
    <modules> 
     <Test_Quickorder> 
      <version>0.1.0</version> 
     </Test_Quickorder> 
    </modules> 
    <global> 
     <blocks> 
      <quickorder> 
       <rewrite> 
        <quickorder>Test_Quickorder_Block_Quickorder</quickorder> 
       </rewrite> 
      </quickorder> 
     </blocks> 
    </global> 
    <frontend> 
     <routers> 
      <quickorder> 
       <use>standard</use> 
       <args> 
        <module>Test_Quickorder</module> 
        <frontName>quickorder</frontName> 
       </args> 
      </quickorder> 
     </routers> 
     <layout> 
      <updates> 
       <quickorder> 
        <file>quickorder.xml</file> 
       </quickorder> 
      </updates> 
     </layout> 
    </frontend> 
</config> 

В приложение/код/​​сообщества/Test/Quickorder/контроллеры/IndexController.php у меня есть:

<?php 
class Test_Quickorder_IndexController extends Mage_Core_Controller_Front_Action 
{ 
    public function indexAction() 
    { 
     $this->loadLayout(array('default'); 
     $this->renderLayout(); 
    } 
} 

В приложение/дизайн/интерфейс/базы/по умолчанию/макет/quickorder.xml у меня есть:

<layout version="0.1.0"> 
    <default> 
     <reference name="top.links"> 
      <action method="addLink" translate="label title"> 
       <label>Quick Order</label> 
       <url>quickorder</url> 
       <title>Quick Order</title> 
       <prepare/> 
       <urlParams/> 
       <position>1</position> 
      </action> 
     </reference> 
    </default> 
    <quickorder_index_index> 
     <reference name="root"> 
      <action method="setTemplate"> 
       <template>page/1column.phtml</template> 
      </action> 
     </reference> 
     <reference name="content"> 
      <block type="quickorder/quickorder" name="quick" template="quickorder/quickorder.phtml"/> 
     </reference>   
    </quickorder_index_index> 
</layout> 

В приложение/дизайн/интерфейс/базы/по умолчанию/шаблон/quickorder/quickorder.phtml у меня есть:

<div class="content"> 
    <p>Hello</p> 
</div> 

И в приложение/код/​​сообщества/Test/Quickorder/Block/Quickorder у меня есть:

<?php 
class Test_Quickorder_Block_Quickorder extends Mage_Core_Block_Abstract 
{ 

} 

Я ожидал, что "Привет", чтобы показать прямо в посередине страницы. Вместо этого я ничего не получаю. Я знаю, что какая-то часть макета работает, потому что, когда я перейти к quickorder я получаю

<body class="quickorder-index-index"> 

Может кто-нибудь мне точку в правильном направлении, туда, где я пошло не так здесь?

Заранее спасибо за любую помощь/советы/указатели :-)

ответ

3

я не изучал весь код, но это

class Test_Quickorder_Block_Quickorder extends Mage_Core_Block_Abstract 
{ 

} 

должен быть этот

class Test_Quickorder_Block_Quickorder extends Mage_Core_Block_Template 
{ 

} 

Если вы хотите, чтобы блок отображал шаблон, он должен быть или наследовать от, Mage_Core_Block_Template.

+0

Благодарим за отзыв! Я объединил ваш учебник с другим, и после вашей рекомендации он теперь работает отлично. – james

Смежные вопросы