Magento :: Custom Block在主页中不起作用

时间:2013-08-08 15:56:40

标签: magento

在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') ?>

但它仍然无效。有人可以指出我错过了什么吗?

2 个答案:

答案 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; ?>