比方說,我有兩個categegories,A和B.如何在產品視圖頁面中顯示分類定製設計佈局?
我設定一個使用「layout_a」上目錄 - >目錄分類 - >點擊一個類別 - >點擊定製設計標籤
我設置B到使用目錄中的'layout_b' - >目錄類別 - >單擊一個類別 - >單擊自定義設計選項卡
當我訪問類別A和B時,顯示的產品使用我在管理面板上設置的自己的佈局。當我點擊產品列表頁面上的一個項目時,產品視圖頁面不使用自定義設計。
如何執行產品視圖頁以使用其類別的自定義設計?
比方說,我有兩個categegories,A和B.如何在產品視圖頁面中顯示分類定製設計佈局?
我設定一個使用「layout_a」上目錄 - >目錄分類 - >點擊一個類別 - >點擊定製設計標籤
我設置B到使用目錄中的'layout_b' - >目錄類別 - >單擊一個類別 - >單擊自定義設計選項卡
當我訪問類別A和B時,顯示的產品使用我在管理面板上設置的自己的佈局。當我點擊產品列表頁面上的一個項目時,產品視圖頁面不使用自定義設計。
如何執行產品視圖頁以使用其類別的自定義設計?
我自己找到了答案。位於/app/code/Mage/Catalog/controllers/ProductController.php
打開產物控制器添加以下代碼_initProductLayout方法
$最新情況:> addHandle( '類別_' $產品 - > getCategoryId());位於/app/design/frontend/default/default/layout/catalog.xml
打開目錄佈局XML添加
<CATEGORY_"your category id"> <reference name="root"> <action method="setTemplate"><template>yourtemplate here</template></action> </reference> </CATEGORY_"your category id">
您可以在產品目錄應用定製設計更新>管理產品>設計,然後應用按類別
這是否達到你所需要的?
差不多,但不完美。我只想按照類別應用自定義設計。如果我在產品目錄 - >管理產品 - >設計上設置了自定義設計,產品將使用我設置的佈局。假設我的產品屬於類別A和B.如果我爲產品設置了佈局B,那麼當客戶點擊類別 - >產品時,如何使其使用佈局A? – Moon 2010-09-08 13:00:43
在當前版本的Magento中,有另一種方法可以在不改變內核的情況下執行此操作代碼。假設您有一個自定義模板來顯示某個類別的產品。在管理中,轉到目錄 - >分類 - >管理類別,然後選擇要應用修改後的產品模板的類別。將「應用於產品」更改爲「是」,並將以下內容放入「自定義佈局更新」中;
<reference name="product.info">
<action method="setTemplate"> <template>catalog/product/NEW_VIEW.phtml</template></action>
</reference>
其中NEW_VIEW是您要使用的新模板的名稱。如果您有子類別,您可能需要將其「使用父類別設置」設置爲「是」才能使其浮動。
使用下拉類型和名稱屬性代碼'which_category'創建一個屬性。在選項選項卡填寫 'category_a' 和 'category_b'
創建兩個文件在/ app /設計/前端/默認/ YOURTEMP /模板/目錄/產品/
讓說:view_cat_a.phtml和view_cat_b 。phtml
您可以根據view.phtml設計特定類別的產品視圖頁面。
更改view.phtml到:
<?php
$_helper = $this->helper('catalog/output');
$_product = $this->getProduct();
if ($_product->getAttributeText('which_category') == category_a) {
include('view_cat_a.phtml');
} else {
include('view_cat_b.phtml');
}
當你創建一個產品,你可以選擇在該屬性的類別(在attribute_set定義它們)
想你的意思:「我集B使用「layout_b 'on ...「:) :) – 2010-09-08 12:55:05