2015-07-11 118 views
1

我無法在類別>顯示設置下使用magento顯示靜態CMS塊。Magento類別靜態塊未顯示

app/design/frontend/base/default/template/catalog/category/view.phtml的內容似乎是正確的根據similar question on SE。在這裏你去:

<?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塊)。

事情我想不工作:

  1. 殘疾人自定義主題和Magento的所使用的默認主題。
  2. 從另一個magento安裝替換view.phtml(其工作正常)。
  3. 替換與

    <?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; ?> 
    

    的if-else塊這顯示MODE: PRODUCTS對於所有3個例(產品/ CMS /混合)

  4. 卸下的if-else塊,並且僅使用行強制的magento顯示cms和產品塊。假設控制不流向正確的塊。

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

    只有產品得到了塊顯示爲上述(產品/ CMS /混合)

  5. 我可以看到,有2個問題在這裏,或至少我認爲是這樣提到的所有3個類別。

    1. 類別顯示模式總是來爲 「產品只有」
    2. 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: MIXED:1 CMS: ry顯示模式(產品/ cms /混合)。

有人可以幫我一把。 我禁用了緩存並嘗試過重新編排。

回答

0

我找到了解決我的問題在這裏 Magento的1.9.2.0

應用程序/代碼/核心/法師/目錄/座/分類/視圖。PHP 內部功能getCmsBlockHtml

上線109它讀 回報

但應該讀 回報$這個 - >的getData( 'cms_block_html');

Regards paul