在magento中,我只想在主页中显示静态块。
我尝试了this question中提到的解决方案,但它没有用。
我在page.xml文件中添加了这段代码,并且它开始给出错误,所以我把它从它们中删除并将它放在local.xml文件中:
<cms_index_index>
<reference name="content">
<block type="cms/block" name="home-page-block">
<action method="setBlockId"><block_id>home-page-block</block_id></action>
</block>
</reference>
<cms_index_index>
它没有给出错误,但仍然没有显示静态块。我甚至在2columns-right.phtml文件中输入了这个,但我认为这不是必需的。
<?php echo $this->getChildHtml('home-page-block') ?>
但它仍然无效。有人可以指出我错过了什么吗?
答案 0 :(得分:0)
假设您已经执行了所有clear-cache,disable-cache标准过程,我认为句柄应该是cms_index_defaultindex
而不是cms_index_index
。
其次,由于您已经在getChildHtml()
,因此<reference name="content" />
位并不是必需的。
答案 1 :(得分:0)
one of the easiest thing to do is
<?php
$homePageUrl = Mage::getBaseUrl(); //this gets you your domain name sort of
$currentUrl = $this->helper('core/url')->getCurrentUrl(); // this gets the current url
//you can now do your conditional stuff in here
if($currentUrl == $homePageUrl) : ?>
//then display your block by calling the block
<div style="margin: 0 auto; width: 100%; max-width: 1180px;">
<?php echo $this->getLayout()
->createBlock('cms/block')
->setBlockId('seo-homepage')
->toHtml();
?>
</div>
<?php endif; ?>