无论我尝试什么,这都无法正常工作。
我在/app/design/frontend/mytemplate/default/template/page/popularsearches.phtml上设置了一个新文件
我正在尝试从Layout Update .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') ?>
答案 0 :(得分:2)
欢迎来到SO!
可能会发生一些事情。假设您的CMS页面有<reference name="content"><your block code from above /></reference>
,您已将您的块视为内容的子项,因此它应与其他内容一起呈现。顺便说一下,你不需要给你的块一个别名(as =“”属性)。
第1步:您应该刷新系统&gt;下的布局缓存缓存管理。
第二步:检查var/log/system.log
,看看您是否收到无效模板警告;拼写错误/错误的文件路径通常是个问题。如果找不到您的模板,请检查您的包和主题设置。顺便说一下,在基本/默认主题下添加这个 new 模板是完全合适的。
第3步:如果您的模板包含PHP,请将其注释掉,看看是否可以使用纯HTML进行渲染。如果是这样,您的代码就会出现问题。如果您愿意,可以通过添加SetEnv MAGE_IS_DEVELOPER_MODE
或更改index.php中的逻辑来启用开发人员模式。如果这是一个生产框,显然可以为您的IP处理开发者模式。
答案 1 :(得分:0)
自从发布以来已经过去2年了,我相信你现在已经知道了这一点,但可能是你正在使用
<?php echo $this->getChildHtml('popularsearches') ?>
而不是
<?php echo $this->getChildHtml('popular_searches') ?>
布局更新XML中的代码为名称指定了'popular_searches'(没有下划线) - 而不是'popularsearches'。
答案 2 :(得分:0)
您可以首先使用特定内容创建静态块,然后通过cms layout xml中的引用调用调用内容来添加内容。
在cms块中搜索并设置相同的内容块。
您也可以参考http://prashantpandeytech.blogspot.in/2015/03/magento-add-seo-content-to-home-page-end.html