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. 在Magento產品頁
- 2. 使用magento用PHP連接帶可配置產品的產品
- 3. Magento Reindex產品
- 4. Magento的:在產品頁面
- 5. Magento的:在捆綁產品
- 6. Magento中的新產品
- 7. Magento產品中的水印
- 8. 在magento中默認啓用新產品
- 9. 刪除Magento中的停產產品
- 10. 加入產品對比magento使用產品屬性(類別)
- 11. 如何使用magento中的產品ID獲得產品可用性?
- 12. 禁用/刪除Magento中的產品
- 13. Magento - 按產品編號排序產品
- 14. Magento Bundle產品 - 選擇產品變體
- 15. Magento捆綁產品從產品ID
- 16. Magento產品頁面
- 17. magento添加產品
- 18. Magento WSDL和產品
- 19. Magento v1.9.2.1產品表
- 20. magento產品列表
- 21. Magento產品列表
- 22. Magento產品畫廊
- 23. Magento比較產品
- 24. Magento - 使用法師編輯產品?
- 25. 在magento中保存產品前後獲取產品數量
- 26. Magento:在分組產品中獲取產品網址
- 27. 在magento中獲取產品或產品編號
- 28. 在magento中獲取產品ID和產品類型?
- 29. magento - 從簡單產品中使用可配置產品的圖像
- 30. 如何使用Magento中沒有websiteID的產品進行產品收藏?
感謝艾倫,爲了這樣一個精彩的解釋。 – 2010-06-30 04:38:19