块模板文件没有在我的控制器中调用?

时间:2014-08-28 13:04:56

标签: magento

我可以发布我的代码。它是工作控制器,也是阻止文件,但模板文件无效。

在此处发送代码。

 <?xml version="1.0" ?>
<!--
/**
* Module Configuration
*
*@author Magento
-->
<config>
    <modules>
        <Magentostudy_News>
        <version>1.0.0</version>
        </Magentostudy_News>
    </modules>
    <frontend>
        <routers>
            <magentostudy_news>
                <use>standard</use>
                <args>
                <module>Magentostudy_News</module>
                <frontName>news</frontName>
                </args>
            </magentostudy_news>
        </routers>
    </frontend>
    <layout>
            <updates>
            <magentostudy_news>
            <file>news.xml</file>
            </magentostudy_news>
            </updates>
    </layout>

    <global>
         <blocks>
                <news><class>Magentostudy_News_Block</class></news>
         </blocks>

    </global>

</config>

我的news.xml文件

    <layout version="0.1.0">
<default>
    <reference name="content"></reference>
</default>
<news_index_index>
    <reference name="content">

    <block type="news/news" name="news.slider" template="news/news.phtml"></block>

    </reference>

</news_index_index>
<layout>

这是我的控制器文件

    <?php

class Magentostudy_News_IndexController extends Mage_Core_Controller_Front_Action{

    public function _construct(){


      Mage::app()->loadArea($this->getLayout()->getArea());

        $this->loadLayout();
        $this->renderLayout();


    }

    public function indexAction(){


       $cpBlock = $this->getLayout()->getBlockSingleton('Magentostudy_News_Block_News');

    }

}

?>

这是我的阻止文件

    <?php

class Magentostudy_News_Block_News extends Mage_Core_Block_Template{

    public function _construct()
    {
        parent::_construct();

        $this->setTemplate('news/news.phtml'); 
    }



}

?>

告诉我这个档案中有什么类型的问题?以及如何解决它?

1 个答案:

答案 0 :(得分:0)

您没有在indexAction()中加载和渲染布局。它看起来应该是这样的。

<?php
public function indexAction() {
    $this->loadLayout();
    //your custom changes should do here
    $this->renderLayout();
}

如果不这样做,Magento将不会在句柄news_index_index内渲染块。