2013-12-10 36 views
0

我是magento中的新手,我需要在magento中有兩個產品視圖頁面。 一個用於本地產品,另一個用於國際產品。我已經定製了默認產品視圖頁面以顯示本地產品。 當我點擊默認產品視圖頁中提供的「國際產品」鏈接時,將顯示國際產品查看頁面。我爲國際產品創建了一個名稱爲「國際」的全功能模塊。但是現在我完全混淆了。是否可以在magento中創建自定義產品視圖頁面

如何使我的自定義模塊的功能與默認產品視圖頁一樣?製作另一個產品視圖頁是否正確?

請建議。

+0

學習重寫phtmls.then你可以很容易地做到這一點。 –

+0

感謝@Mahmood Rehman的回覆。你能給我推薦一些參考頁嗎? –

+0

我認爲最好是使用相同的視圖頁面的兩個operation.while在頁面的開始設置一些變量和顯示數據。 –

回答

1

你可以用兩種方法做到這一點。

  1. 在管理產品的編輯頁面上,您可以在設計選項卡中定義自定義佈局。 但是,你必須對所有你想要有新設計的產品做同樣的事情,並且將來很難管理使用哪種佈局的產品。
  2. 爲產品提供下拉屬性讓locality_type提供選項「國際」,「本地」,然後在佈局處理程序的幫助下根據屬性值動態更改佈局。

我發現第二種方法非常方便,因爲我可以根據屬性值來識別我的佈局正在發生變化,並且更改此屬性值可以輕鬆更改我的佈局。

這是如何實施的。

更新initProductLayout方法app/code/core/Mage/Catalog/Helper/Product/View.php

$update->addHandle('PRODUCT_' . $product->getId());代替這些線

if($product->getAttributeText('locality_type')=='International') 
    $update->addHandle('PRODUCT_INTERNATIONAL'); 
if($product->getAttributeText('locality_type')=='Local') 
    $update->addHandle('PRODUCT_LOCAL'); 

立即更新{theme}/layout/catalog.xml。之後</PRODUCT_TYPE_virtual>地方這些線路

<PRODUCT_INTERNATIONAL> 
    <reference name="product.info"> 
     <action method="setTemplate"><template>catalog/product/view_international.phtml</template></action> 
    </reference> 
</PRODUCT_INTERNATIONAL> 
<PRODUCT_LOCAL> 
    <reference name="product.info"> 
     <action method="setTemplate"><template>catalog/product/view_local.phtml</template></action> 
    </reference> 
</PRODUCT_LOCAL> 

剩餘現在唯一的事情是,你必須在{theme}/template/catalog/product

您可以將不同的代碼視圖文件,以使它們看起來不同的創建這兩個文件view_local.phtmlview_internationl.phtml。對於進一步的修改,你在catalog.xml有自己的處理標籤。只要你想使用它。

+0

非常感謝你。這似乎是我的問題的一個很好的解決方案。\ –

相關問題