Magento类别静态块未显示

时间:2015-07-11 11:47:38

标签: php magento

我无法在类别>下制作magento显示静态CMS块显示设置。

根据similar question on SEapp/design/frontend/base/default/template/catalog/category/view.phtml的内容似乎是正确的。你走了:

<?php if($this->isContentMode()): ?>
    <?php echo $this->getCmsBlockHtml() ?>

<?php elseif($this->isMixedMode()): ?>
    <?php echo $this->getCmsBlockHtml() ?>
    <?php echo $this->getProductListHtml() ?>

<?php else: ?>
    <?php echo $this->getProductListHtml() ?>
<?php endif; ?>

我已经配置了3个类别,比如说

  1. category_a(仅限产品)
  2. category_b(产品和cms)
  3. category_c(仅限cms块)。
  4. 我尝试过的不能工作的事情:

    1. 已禁用自定义主题并使用了magento的默认主题。
    2. 从另一个magento安装(其工作正常)替换view.phtml。
    3. 替换if-else块
      <?php if($this->isContentMode()): ?>
      MODE: CMS
          <?php echo $this->getCmsBlockHtml() ?>
      
      <?php elseif($this->isMixedMode()): ?>
      MODE: MIXED
          <?php echo $this->getCmsBlockHtml() ?>
          <?php echo $this->getProductListHtml() ?>
      
      <?php else: ?>
      MODE: PRODUCTS
          <?php echo $this->getProductListHtml() ?>
      <?php endif; ?>
      

      对于所有3个案例(产品/ cms /混合)显示MODE: PRODUCTS

    4. 删除if-else块并仅使用线条强制magento显示cms和product块。假设控制没有流向正确的块。

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

      上述所有3个类别(产品/ cms /混合)仅显示产品块

    5. 我可以看到这里有两个问题,或者至少我认为是这样。

      1. 类别显示模式始终为&#34;仅限产品&#34;
      2. getCmsBlockHtml()不会返回任何内容
    6. 所以我尝试了基于Mage_Catalog_Block_Category_View

      的代码段
      Product: 
      <?php echo $this->getCurrentCategory()->getDisplayMode()==Mage_Catalog_Model_Category::DM_PRODUCT; ?>
      MIXED: 
      <?php echo $this->getCurrentCategory()->getDisplayMode()==Mage_Catalog_Model_Category::DM_MIXED; ?>
      CMS: 
      <?php echo $this->getCurrentCategory()->getDisplayMode()==Mage_Catalog_Model_Category::DM_PAGE; ?>
      

      并且对所有三种类别显示模式(product / cms / mixed)的响应为>>Product: MIXED:1 CMS:

      请有人帮帮我。 我已禁用缓存,并尝试重新编制索引。

1 个答案:

答案 0 :(得分:0)

我在这里找到了解决问题的方法 Magento 1.9.2.0

应用/代码/核心/法师/目录/砌块/类别/ View.php 内部函数getCmsBlockHtml

在第109行,它读了 返回

但应阅读 返回$ this-&gt; getData('cms_block_html');

关心保罗