7
A
回答
16
的getTypeInstance可以檢索描述產品,其中型號爲內部Magento的類型的類型的對象。因此,您可以使用此方法來確定產品是簡單產品,捆綁產品,可配置產品等。
然後,您可以使用這些對象來確定特定於其類型的產品的信息。例如,如果你調用這個方法的捆綁產品對象上,你會得到一個對象,它的類是
Mage_Bundle_Model_Product_Type
這個類有一些它的方法,這是專門用來對付捆綁產品。例如,你有getWeight
方法
public function getWeight($product = null)
{
if ($this->getProduct($product)->getData('weight_type')) {
return $this->getProduct($product)->getData('weight');
} else {
$weight = 0;
if ($this->getProduct($product)->hasCustomOptions()) {
$customOption = $this->getProduct($product)->getCustomOption('bundle_selection_ids');
$selectionIds = unserialize($customOption->getValue());
$selections = $this->getSelectionsByIds($selectionIds, $product);
foreach ($selections->getItems() as $selection) {
$weight += $selection->getWeight();
}
}
return $weight;
}
}
該方法具有用於確定捆綁產品的重量的特定規則。
然後,在catalog/product
模型(Mage_Catalog_Model_Product
),你可以看到getWeight
只是包裝了一個調用類型的getWeight
public function getWeight()
{
return $this->getTypeInstance(true)->getWeight($this);
}
的是在行動面向對象編程的一個很好的例子。
那麼,今天結束了嗎?如果您不知道爲什麼需要使用此方法,則不需要使用此方法。
4
getTypeInstance
調用將返回一個不同的對象,具體取決於您選擇的產品類型。例如,如果您選擇捆綁產品,則類型實例將包含關於捆綁產品的信息,關於如何計算動態重量的信息等。
使用此方法沒有任何問題,只要它有你需要的數據。
希望有所幫助。
謝謝, 喬
相關問題
- 1. 使用大產品的產品ID獲取產品sku在Magento
- 2. 產品在Magento
- 3. product_attribute_media.list使產品在Magento
- 4. 在Magento中訂購產品
- 5. 在Magento產品頁
- 6. 使用magento用PHP連接帶可配置產品的產品
- 7. Magento的配置的產品價格 - 使用超級產品
- 8. Magento Reindex產品
- 9. 如何在產品視圖中調用產品列表Magento
- 10. Magento中的新產品
- 11. Magento產品中的水印
- 12. Magento的:在捆綁產品
- 13. Magento的:在產品頁面
- 14. 產品URL Magento的
- 15. Magento的 - 從產品
- 16. 組Magento的產品
- 17. 在magento中默認啓用新產品
- 18. 產品Magento的折扣在Magento表 - sales_flat_order_item
- 19. 導入多個產品價格/ Magento中使用Magento的1.5/EE
- 20. 刪除Magento中的停產產品
- 21. 使用可配置產品創建Magento捆綁產品或組產品
- 22. 如何使用magento中的產品ID獲得產品可用性?
- 23. 加入產品對比magento使用產品屬性(類別)
- 24. 其中Magento在我們使用csv導入產品時存儲產品信息
- 25. 禁用/刪除Magento中的產品
- 26. 用Magento中的代碼複製產品
- 27. Magento產品可用性
- 28. 滿載產品在magento
- 29. Magento - 按產品編號排序產品
- 30. Magento產品排序產品分類
感謝艾倫,爲了這樣一個精彩的解釋。 – 2010-06-30 04:38:19