Php 使用「;getTypeInstance();产品在Magento中的应用
有谁能解释一下“getTypeInstance()”方法的需要吗?它可以被任何产品对象使用Php 使用「;getTypeInstance();产品在Magento中的应用,php,oop,magento,Php,Oop,Magento,有谁能解释一下“getTypeInstance()”方法的需要吗?它可以被任何产品对象使用 另外,使用此方法的优缺点是什么?根据您选择的产品类型,getTypeInstance调用将返回不同的对象。例如,如果您选择了捆绑产品,则类型实例将包含关于其中捆绑产品的信息、关于如何计算动态权重的信息等 使用这种方法没有什么错,只要它有你需要的数据 希望有帮助 谢谢, JoegetTypeInstance允许您检索描述产品类型的对象,其中类型是内部magento类型。因此,您可以使用此方法确定产品是简单产
另外,使用此方法的优缺点是什么?根据您选择的产品类型,
getTypeInstance
调用将返回不同的对象。例如,如果您选择了捆绑产品,则类型实例将包含关于其中捆绑产品的信息、关于如何计算动态权重的信息等
使用这种方法没有什么错,只要它有你需要的数据
希望有帮助
谢谢,
JoegetTypeInstance允许您检索描述产品类型的对象,其中类型是内部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\u catalog\u Model\u product
)中,您可以看到getWeight
只包装对类型的getWeight
的调用
public function getWeight()
{
return $this->getTypeInstance(true)->getWeight($this);
}
是面向对象编程的一个主要实例
那么,今天结束了吗?如果您不知道为什么需要使用此方法,则不需要使用此方法