2012-09-24 42 views
0

我使用下面的代码从控制器显示页面Magento的:通过代码

$html = $this->getLayout() 
     ->createBlock('mymodule/myblock') 
     ->setTemplate('mymodule/mypage.phtml') 
     ->toHtml(); 
echo $html; 

问题是我不断收到同样的错误

Not valid template file:frontend/base/default/template/mymodule/mypage.phtml 

现在设定的主题,该文件是不位于“基本”文件夹下,但在“默认”下,但我不知道为什么Magento继续搜索它。 我做了setTheme方法这显示

Mage::getDesign()->setPackageName("default")->setTheme("default"); 

之前,但它并没有帮助,仍然是“基地”文件夹是搜索。

问题是 - 我错过了什么?

+0

很奇怪,错误信息和你的模板文件夹名称不匹配 – ivantedja

+0

啊,对不起,它是打字错误,现在只是修正了 – Relja

回答

0

所以这里是你错误地得到base的原因。 Magento的实现某种回退机制的同时,寻找你的模板文件:

  • 首先它搜索它的封装和主题,
  • 那么在当前包的默认主题,
  • 比默认包和默认主题,
  • 最后在“基地”,最后一个是使它成为错误信息。

你应该仔细检查你的模板文件名和setTemplate方法内部字符串的拼写,它只是一些小错字造成的。

如果不是这样,请检查您现在使用的主题是什么,也许您将模板文件插入错误的主题/包中。

+0

就好像总是这样,它不能更愚蠢的错误: - /我花了整整一分钟一天调试这一点,而我所需要的就是在右边的一个点:) Tnx! – Relja