2012-09-27 165 views
1

我在將類別描述放在類別頁面後面的塊時出現問題。Magento:類別描述後的顯示塊

我有一個新的過濾導航分離佈局的xml文件。 XML是:

<catalog_category_layered> 
    <remove name="catalog.leftnav" /> 
    <remove name="enterprisecatalog.leftnav"/> 
    <reference name="left"> 
     <block type="amshopby/catalog_layer_view" name="amshopby.navleft" after="currency" template="catalog/layer/view.phtml"/> 
    </reference> 
    <reference name="content"> 
      <block type="amshopby/catalog_layer_view_top" name="amshopby.navtop" before="-" template="amshopby/view_top.phtml"/> 
      <block type="amshopby/top" name="amshopby.top" before="category.products" template="amshopby/top.phtml"/> 
    </reference> 
</catalog_category_layered> 

所以這是這行我的分類頁面的內容區的開頭放置塊:

<block type="amshopby/catalog_layer_view_top" name="amshopby.navtop" before="-" template="amshopby/view_top.phtml"/> 

所以現在我的分類頁面看起來像這樣:

已過濾的導航 - >分類標題 - >分類描述 - >產品概述

但我想重新排列它,使其看起來像

分類標題 - >分類描述 - >過濾導航 - >產品概覽

但是我怎麼能把這個塊放在描述之後呢?這是一個新的塊,其中包括標題,描述,產品等:

(標準的catalog.xml)

<catalog_category_layered translate="label"> 
    <label>Catalog Category (Anchor)</label> 
    <reference name="left"></reference> 
    <reference name="content"> 
     <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml"> 
      <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml"> 
       <!-- <action method="addReviewSummaryTemplate"><type>default</type><template>review/helper/su.phtml</template></action> --> 
       <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"> 
        <block type="page/html_pager" name="product_list_toolbar_pager"/> 
        <!-- The following code shows how to set your own pager increments --> 
        <!-- 
         <action method="setDefaultListPerPage"><limit>4</limit></action> 
         <action method="setDefaultGridPerPage"><limit>3</limit></action> 
         <action method="addPagerLimit"><mode>list</mode><limit>2</limit></action> 
         <action method="addPagerLimit"><mode>list</mode><limit>4</limit></action> 
         <action method="addPagerLimit"><mode>list</mode><limit>6</limit></action> 
         <action method="addPagerLimit"><mode>list</mode><limit>8</limit></action> 
         <action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action> 
         <action method="addPagerLimit"><mode>grid</mode><limit>3</limit></action> 
         <action method="addPagerLimit"><mode>grid</mode><limit>6</limit></action> 
         <action method="addPagerLimit"><mode>grid</mode><limit>9</limit></action> 
         <action method="addPagerLimit" translate="label"><mode>grid</mode><limit>all</limit><label>All</label></action> 
        --> 
       </block> 
       <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action> 
       <action method="setToolbarBlockName"><name>product_list_toolbar</name></action> 
      </block> 
     </block> 
    </reference> 
</catalog_category_layered> 

我真的不知道如何將類別描述後添加此塊。我是magento的新手,並且該系統很安靜。我試過類似

<block type="amshopby/catalog_layer_view_top" name="amshopby.navtop" before="product_list_toolbar" template="amshopby/view_top.phtml"/> 

但是這不起作用。我也嘗試在catalog.xml中添加這個塊代碼,但沒有顯示。

有誰有一個想法,我能做些什麼?感謝您的幫助!

+0

我會建議說,過濾器導航(又名分層導航)是左側部分的一部分。你需要從左邊刪除它並在catalog.xml中的'content'部分內部添加找到'<?php if($ _ description = $ this-> getCurrentCategory() - > getDescription()):?>'in'的magento /應用程序/設計/前端/鹼/默認/模板/目錄/類別/ view.phtml'。 如果條件調用'$ this-> getChildHtml('amshopby.navtop')''之後。 這應該工作。但有了經驗,你將需要更多的調整 – SAM

回答

2

amshopby.xml,切XML的下面幾行:

<block type="amshopby/catalog_layer_view_top" name="amshopby.navtop" before="-" template="amshopby/view_top.phtml"/> 
<block type="amshopby/top" name="amshopby.top" before="category.products" template="amshopby/top.phtml"/> 

然後在catalog.xml,貼上這兩條線在這裏:

<catalog_category_layered translate="label"> 
<!-- ... --> 
<reference name="content"> 
<!-- ... --> 
<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml"> 

<!-- paste XML here --> 

<!-- ... --> 
</reference> 
</catalog_category_layered> 

然後在template/catalog/category/view.phtml貼在這條線:

<?php echo $this->getChildHtml('amshopby.navtop'); ?> 

後以下內容:

<?php if($_description=$this->getCurrentCategory()->getDescription()): ?> 
<div class="category-description std"> 
    <?php echo $_helper->categoryAttribute($_category, $_description, 'description') ?> 
</div> 
<?php endif; ?> 

應該這樣做。

+0

謝謝你的回答。但是當我嘗試這個時,沒有顯示amshopby塊。 沒有錯誤,只是空的空間。 – Raisis

+0

您是否在類別後面粘貼了這兩行XML?產品'塊?我已經爲我正在使用改進導航模塊的商店完成了這項工作,並且運行良好。 –