将静态块移动到每个类别页面的顶部

时间:2014-06-20 19:34:05

标签: magento

目前,当我通过类别显示设置将cms静态块添加到类别页面时,它会显示但是与左列内联。我希望它出现在上面,左栏和产品在下面。

视觉上,

而不是:

左栏|静态块

         | Products

我想要它:

  Static Block

左栏|产品

任何想法?

2 个答案:

答案 0 :(得分:0)

假设您使用了left-bar.phtml

的2列

你必须在布局中创建一个新的结构块

修改2columns-left.phtml文件

.....
    <div class="wrapper">
    <?php echo $this->getChildHtml('global_notices') ?>
    <div class="page">
        <?php echo $this->getChildHtml('header') ?>
        <div class="main-container col2-left-layout">
            <div class="main">
                <?php echo $this->getChildHtml('breadcrumbs') ?>
                <?php echo $this->getChildHtml('categorystaticblock'); //<---new block ?>
                <div class="col-main">
                    <?php echo $this->getChildHtml('global_messages') ?>
                    <?php echo $this->getChildHtml('content') ?>
                </div>
                <div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div>
            </div>
        </div>
        <?php echo $this->getChildHtml('footer') ?>
        <?php echo $this->getChildHtml('before_body_end') ?>
    </div>
</div>
.....

现在在catalog.xml中声明新结构块中的内容

       <catalog_category_default translate="label">
        <label>Catalog Category (Non-Anchor)</label>

        <reference name="categorystaticblock">
            <block type="catalog/category_view" name="categorystatickblock" as="categorystatickblock" template="catalog/category/staticblock.phtml">
        </reference>
        <reference name="left">
            <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
        </reference>
        <reference name="content">
....

现在创建新文件 目录/类别/ staticblock.phtml

<?php if($this->isContentMode() ||$this->isMixedMode()): ?>
    <?php echo $this->getCmsBlockHtml() ?>
<?php endif; ?>

现在从目录/ category / view.phtml删除或注释

<?php echo $this->getCmsBlockHtml() ?>

回显cms阻止的行,否则你会在页面上得到它两次

希望这有帮助

再见 朱塞佩

答案 1 :(得分:0)

遵循朱塞佩的说法,它几乎适用于我。我花了几个小时才弄明白我错过了什么。事实证明,您必须在page.xml文件中添加一个新内容,其中包含&#34; content&#34;块已定义。

<block type="core/text_list" name="categorystaticblock" as="categorystaticblock" translate="label"> <label>Static category content</label> </block>

同样在Giuseppe提供的XML中,有一个错字。必须在&#34; categorystatickblock&#34;的最后?块。