2013-07-17 117 views
1

我有一個Magento商店配置爲使用一個網站與兩個商店(和每個商店視圖)。MultiStore與不同的產品

兩家商店必須有不同的產品。當我創建它們時,每個商店都有自己的根類別,所以我希望Magento能夠根據相關類別劃分產品。不知何故,這首先在我的本地測試中起作用,但沒有在生產上,在本地更改某些類別後,它不起作用 - 即使將其更改回來也沒有解決此問題。

搜索我發現我可以更改每個商店視圖的狀態,但是在產品狀態方面,它顯示「網站」,當我更改它時,兩個視圖都會更改。我可以改變能見度,但我不確定這是否會降低商店速度。因此,有兩個問題:

  1. 是否有可能根據 根類別爲每個商店分隔產品?
  2. 是否優化了每個商店視圖的可見性? (我現在有另約500種產品,在一個商店和100 400,我不想拖慢店)

編輯: 無法找到一個解決方案,使用一種變通方法代替:

我有這個在我的CMS主頁:

{{block type="catalog/product_list_random" name="home_products" template="catalog/product/list.phtml"}} 

這是顯示產品從其他商店。所以我擴展了Mage_Catalog_Block_Product_List類包括當前存儲根類ID過濾器:

$_rootcatID = Mage::app()->getStore()->getRootCategoryId(); 
$collection 
    ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left') 
    ->addAttributeToFilter('category_id', array('in' => $_rootcatID)); 

從其他店的產品仍然會在搜索,但沒關係我。

回答

0

編輯產品時,您應該看到一個名爲「網站」的選項卡。從那裏您可以將產品分配到特定網站或從特定網站移除產品。您甚至可以通過選擇網格中的產品並選擇操作更改屬性批量更改網站。你應該再次看到一個「網站」選項卡。
至於能見度,沒有問題。如果您爲每個商店視圖啓用平面目錄,則將創建一個新表,並且可見性將只是where選擇語句中使用的簡單標誌。

+0

我有一個網站有兩個商店,所以產品上的「網站」標籤只有在網站上的複選框,而不是商店或商店的意見。關於平面目錄,使用它有什麼缺點嗎?我搜索了一下,它似乎提高了性能,但爲什麼它默認啓用? – Henrique

+0

在這種情況下,您應該重新考慮架構。也許你應該使用2個網站,每個網站都有一個商店視圖。至於平面目錄,默認情況下未啓用,因爲需要重建索引來構建平面表。如果默認情況下啓用,則會出現錯誤。 – Marius

+0

我這樣做是因爲我使用的教程所說的產品是每個商店(http://www.magentocommerce.com/knowledge-base/entry/overview-how-multiple-websites-stores-work/),它的確行得通起初在我的本地機器上。還有其他地方說,改變根類別(這是基於商店)單獨的產品(http://stackoverflow.com/questions/4507608/assign-different-products-to-different-stores-and-display-products-per -store-IN)。我無法理解Magento是否改變了它的工作方式,或者我配置了錯誤的東西。 – Henrique