我无法在类别>下制作magento显示静态CMS块显示设置。
根据similar question on SE,app/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个类别,比如说
我尝试过的不能工作的事情:
用
替换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
删除if-else块并仅使用线条强制magento显示cms和product块。假设控制没有流向正确的块。
<?php echo $this->getCmsBlockHtml() ?>
<?php echo $this->getProductListHtml() ?>
上述所有3个类别(产品/ cms /混合)仅显示产品块
我可以看到这里有两个问题,或者至少我认为是这样。
getCmsBlockHtml()
不会返回任何内容所以我尝试了基于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:
。
请有人帮帮我。 我已禁用缓存,并尝试重新编制索引。
答案 0 :(得分:0)
我在这里找到了解决问题的方法 Magento 1.9.2.0
应用/代码/核心/法师/目录/砌块/类别/ View.php 内部函数getCmsBlockHtml
在第109行,它读了 返回
但应阅读 返回$ this-&gt; getData('cms_block_html');
关心保罗