我可以发布我的代码。它是工作控制器,也是阻止文件,但模板文件无效。
在此处发送代码。
<?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');
}
}
?>
告诉我这个档案中有什么类型的问题?以及如何解决它?
答案 0 :(得分:0)
您没有在indexAction()
中加载和渲染布局。它看起来应该是这样的。
<?php
public function indexAction() {
$this->loadLayout();
//your custom changes should do here
$this->renderLayout();
}
如果不这样做,Magento将不会在句柄news_index_index
内渲染块。