Magento:如何在类别页面上添加两个或更多静态块

时间:2014-03-12 03:39:57

标签: php magento

我正在创建类别页面,我想添加两个静态块。当我通过CMS /静态块时,我意识到我只能向任何页面添加一个静态块。我无法找到任何可以添加2个或更多静态块的地方。有没有办法可以在一个类别页面中添加两个或更多这样的静态块。

4 个答案:

答案 0 :(得分:4)

如果你想从Catalog-> Manage Categories中添加静态块,那么你知道你可以一次调用1个静态块,但是通过使用简单的技巧,你可以调用任意数量的静态块。 / p>

Category

从管理面板目录 - >管理类别中调用1个静态块。然后从静态块调用其他静态块,您从类别中调用它。

Static Block

我希望这会对你有所帮助。

答案 1 :(得分:2)

首先将新字段添加到类别中。我已创建新字段名称“landing_page_2”。我为这个作品创作和扩展......

步骤1:创建config.xml 在:app \ code \ local \ Amit \ Catmattribute \ etc

<?xml version="1.0"?>
<config>
  <modules>
    <Amit_Catmattribute>
      <version>0.1.0</version>
    </Amit_Catmattribute>
  </modules>
  <global>
    <helpers>
      <catmattribute>
        <class>Amit_Catmattribute_Helper</class>
      </catmattribute>
    </helpers>
    <models>
      <catmattribute>
        <class>Amit_Catmattribute_Model</class>
        <resourceModel>catmattribute_mysql4</resourceModel>
      </catmattribute>
    </models>
    <resources>
      <categoryattribute1394603225_setup>
        <setup>
          <module>Amit_Catmattribute</module>
          <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
        </setup>
        <connection>
          <use>core_setup</use>
        </connection>
      </categoryattribute1394603225_setup>
      <categoryattribute1394603225_write>
        <connection>
          <use>core_write</use>
        </connection>
      </categoryattribute1394603225_write>
      <categoryattribute1394603225_read>
        <connection>
          <use>core_read</use>
        </connection>
      </categoryattribute1394603225_read>
    </resources>
  </global>
</config> 

第二步:创建mysql4-install-0.1.0.php:app \ code \ local \ Amit \ Catmattribute \ sql \ categoryattribute1394603225_setup

<?php
$installer = $this;
$installer->startSetup();


$installer->addAttribute("catalog_category", "landing_page_2",  array(
    "type"     => "int",
    "backend"  => "",
    "frontend" => "",
    "label"    => "CMS Block 2",
    "input"    => "select",
    "class"    => "",
    "source"   => "catalog/category_attribute_source_page",
    "global"   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'group'    => 'Display Settings',
    "visible"  => true,
    "required" => false,
    "user_defined"  => false,
    "default" => "",
    "searchable" => false,
    "filterable" => false,
    "comparable" => false,

    "visible_on_front"  => false,
    "unique"     => false,
    "note"       => ""

    ));
$installer->endSetup();

Step3:创建Data.php

应用\代码\本地\阿米特\ Catmattribute \助手

<?php
class Amit_Catmattribute_Helper_Data extends Mage_Core_Helper_Abstract
{
}

步骤4:app / etc / modules /

下的Amit_Catmattribute.xml
<?xml version="1.0"?>
<config>
  <modules>
    <Amit_Catmattribute>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </Amit_Catmattribute>
  </modules>
</config>

从app / code / core / Mage / Catalog / Block / Category /

复制view.php

到app / code / local / Mage / Catalog / Block / Category / 添加新功能

public function getCmsBlocktwoHtml()
    {
        if (!$this->getData('cms_block_html_2')) {
            $html = $this->getLayout()->createBlock('cms/block')
                ->setBlockId($this->getCurrentCategory()->getLandingPage2())
                ->toHtml();
            $this->setData('cms_block_html_2', $html);
        }
        return $this->getData('cms_block_html_2');
    }

app\design\frontend\your package\your template\template\catalog\category\view.ptml
below code add after <?php echo $this->getCmsBlockHtml() ?>

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

希望它会有效。该部分将管理madmin

答案 2 :(得分:0)

您可以将以下代码放在.phtml文件中以调用静态块

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

答案 3 :(得分:0)

您可以做的是从cms&gt;静态块(例如:st1和st2)创建两个必需的静态块,以及另一个包含这些静态块的静态块(例如:dual_block)。

在dual_block静态块中,您可以插入窗口小部件,选择窗口小部件类型为CMS Static Block,然后选择所需的块。您也可以类似地添加其他块。制作所需的格式以根据需要显示块。

然后在所需类别中,单击显示设置选项卡,选择显示模式为static block only,然后在CMS阻止中选择dual_block静态块。然后保存类别,现在您在类别页面中显示了两个静态块。

希望它有所帮助!!