Magento布局基础

Magento布局基础,magento,Magento,我正在经历一个版本的无装饰的Magento布局(可能有4-5个月的历史),我基本上停留在一开始 在Indexcontroller的索引操作中,我创建了一个新的块对象 public function indexAction() { //$this->loadLayout(); $block = new Mage_Core_Block_Template(); $block->setTemplate('helloworld.phtml'); //print_

我正在经历一个版本的无装饰的Magento布局(可能有4-5个月的历史),我基本上停留在一开始

在Indexcontroller的索引操作中,我创建了一个新的块对象

public function indexAction()
{
    //$this->loadLayout();
    $block = new Mage_Core_Block_Template();
    $block->setTemplate('helloworld.phtml');
    //print_r($block->getTemplateFile());
    echo $block->toHtml();
    //$this->renderLayout();
然后,我应该创建一个模板文件,即helloworld.phtml,并将其放置在适当的目录中。我习惯于使用布局文件来实现这一点,但我正在阅读这本书,根本无法渲染该文件

我已将phtml文件放置在以下位置:

.../app/design/frontend/default/default/template
.../app/design/frontend/base/default/template
这也是

print_r($block->getTemplateFile());
我显然错过了一些东西。有人能指出吗


干杯

基于上面的评论,我会直接跳到PHP文件中的
Mage\u Core\u Block\u模板

app/code/core/Mage/Core/Block/Template.php

查找
include
行,并添加一些调试
var_dump
s Magento试图包含的任何文件,或在条件周围添加一些调试,以确定为什么没有调用它。

我要检查的第一件事是,您是否能够在没有错误的情况下执行控制器操作。尝试添加一些变量转储(方法);在方法的开始和结束时调用,以确保调用控制器操作。此外,这不是特定于虚饰的,有些人报告直接从PDF文件复制和粘贴代码时出现问题。具体来说,在任何模板参数的第二个引号之间插入了一个难以感知的空格。听起来很傻,但是试着在文本编辑器中重新键入'helloworld.phtml'参数。块不是应该通过布局对象创建吗?@vague No Frills Magento layout的前四章介绍了底层PHP块和布局对象的工作原理,并使用这些示例解释布局XML系统的方式和原因。嗨,Alan,感谢您的及时回复。是的,这不是具体的装饰。真的很享受这一切。我不是一个马根托式的疯子,但我承认,当我以一种随意的方式学习一些东西时,想法会被误解。我确信正在调用控制器操作。事实上,当我打印时($block->getTemplateFile());它告诉我路径设置为:/app/design/frontend/base/default/template,这是我放置hello world的位置。是的,您不应该复制粘贴,因为pdf中的引号将不起作用。我将继续努力。我知道它应该有用!你好,艾伦。我真的不知道现在该做什么,因为我已经重新启动了整个示例,并且它现在都正常工作了。我只能想象我在某个地方犯了一个错误,而这是我第二次没有犯的。在这个问题上,正确的做法是什么?没有花边很好,非常感谢!我可以用你那本毫无虚饰的书来说明一点,那就是以下几点。不要像我一样懒惰。从PDF中复制粘贴代码是一个愚蠢的想法。自己重写代码。这是我的主要问题。答案通常是最简单的:)我应该结束这个问题吗?