2011-11-21 27 views
3

无论我尝试什么,这都无法正常工作。Magento - 仅在主页上添加我自己的内容块

我已经成立了一个新的文件在/app/design/frontend/mytemplate/default/template/page/popularsearches.phtml

我试图从布局更新.XML在引用(从CMS)。该代码我添加到布局更新XML,下的内容参考如下:

<block type="core/template" name="popular_searches" as="popular_searches" template="page/popularsearches.phtml" /> 

谁能告诉我,为什么它不工作?

谢谢。

编辑:

好,我觉得自己像个白痴了,但我有这个工作,我想我会发布柜面任何人的解决方案来这里同样的问题。

我已经正确设置了我的模板文件,并且布局XML都是正确的,但我没有在模板中的任何位置调用getChildHtml将内容拉入模板。

得到它的工作我增加了以下内容1column.phtml

<?php echo $this->getChildHtml('popularsearches') ?> 

回答

2

欢迎SO!

可能有一些事情正在进行。假设你的CMS页面有<reference name="content"><your block code from above /></reference>,你已经让你的块成为了内容的孩子,所以它应该与其余的内容一起渲染。顺便说一句,你不需要给你的块一个别名(as =“”属性)。

第一步:您应刷新系统>高速缓存管理下的布局高速缓存。

第2步:检查var/log/system.log,看看你是否得到一个无效的模板警告;错别字/不正确的文件路径通常是一个问题。如果找不到您的模板,请检查您的包裹和主题设置。顺便说一下,在base/default主题下添加此模板是完全合适的。

第3步:如果您的模板包含PHP,请将其注释掉,看看是否可以获取纯HTML。如果是这样,你的代码就有问题了。如果您愿意,您可以通过添加SetEnv MAGE_IS_DEVELOPER_MODE或更改index.php中的逻辑来启用开发人员模式。如果这是一个生产箱,显然为您的IP处理开发者模式。

+0

感谢您的答案本。 该块位于内容参考yes下方。 1.高速缓存已关闭,所以没有问题 2.我打开了首选项的日志记录,但它还没有创建一个var/log文件夹,所以我猜没有什么被记录? 3. Theres在我的模板文件没有PHP,只是一些HTML让我知道它的作品。 所以基本上还是卡住:( – edhardie

0

,因为它是过2次年以来这被张贴我敢肯定你现在想通了这一点,但是那也许是因为你使用的

<?php echo $this->getChildHtml('popular_searches') ?> 

<?php echo $this->getChildHtml('popularsearches') ?> 

代替

您在布局更新XML中的代码为名称指定'popular_searches'(不带下划线) - 不是'popularsearches'。

相关问题