如何为每个类别添加不同的静态块

时间:2014-03-12 13:17:54

标签: magento

我想在页面的某些特定位置为每个类别添加不同的静态块。 我该怎么做。????

参考http://www.partybounty.com 在这里,页脚和横幅中的块对于每个类别都是不同的。

3 个答案:

答案 0 :(得分:1)

或者您可以在每个类别上使用布局更新XML(在自定义设计选项卡下),这可以从管理员控制一下;

<reference name="content">
    <remove name="breadcrumbs" />
    <reference name="category.products">
        <action method="setPageTitleDisabled"><disabled>1</disabled></action>
    </reference>
    <block type="page/html_wrapper" name="category.home.left">
        <action method="setElementTagName"><value>div</value></action>
        <action method="setElementClass"><value>col-left sidebar col3</value></action>
        <block type="manufacturers/navigation_left" name="category.home.leftnav" template="manufacturers/navigation/left.phtml"/>
    </block>
    <remove name="category.description" />
    <block type="page/html_wrapper" name="category.home.right" after="category.home.left">
        <action method="setElementTagName"><value>div</value></action>
        <action method="setElementClass"><value>category-home</value></action>
        <block type="core/template" name="category.home.description" template="catalog/category/description.phtml" />
    </block>
    <block type="catalog/navigation" name="category.home.categories" template="catalog/navigation/categories.phtml" after="category.description">
        <action method="setIsMini"><value>1</value></action>
    </block>
    <block type="homepage/homepagebanner" name="category.home.banner" after="category.home.categories">
        <action method="setIsCategory"><value>1</value></action>
    </block>
    <block type="bestsellers/slider" name="category.home.bestsellers" after="category.home.banner" />
    <block type="bundlekits/slider" name="category.home.bundlekits" after="category.home.banner" />
    <block type="featuredproducts/listing" name="category.home.featured" after="category.home.bestsellers" />
</reference>

这使您可以灵活地进行不同的定位,并且可以在每个类别的基础上包含不同的块,不利的一点是设置时需要花费一些时间。

答案 1 :(得分:1)

你试过吗

  • 转到管理目录 - 管理类别
  • 选择您的类别
  • 进入展示模式&amp;选择静态块或静态块&amp;产品
  • 转到CMS区块&amp;选择您创建的块

请参阅How do I create and edit Static Blocks?

如果要将静态块添加到页眉/页脚,则可能需要 在您的类别中添加字段,请参阅http://magecracker.wordpress.com/2012/07/19/how-to-add-custom-fieldattribute-in-magento-category/

然后

<?php echo  Mage::app()->getLayout()
              ->createBlock('cms/block')
               ->setBlockId(Mage::registry('current_category')->getData('block id from custom field'))->toHtml(); ?> 

答案 2 :(得分:0)

您可以在任何类别页面中调用以下内容。您可以为每个类别创建不同的静态块,并根据需要调用它们或从类别编辑页面中选择

<?php $app = Mage::app(); ?>
<?php echo $app->getLayout()
->createBlock('cms/block')
->setBlockId('your_block_id')->toHtml(); ?>