Virtuemart 2产品型号类中getProductSingle()和getProduct()之间有什么区别?

时间:2014-06-04 08:59:40

标签: php joomla virtuemart

在VirtueMartModelProduct类中,有两种方法可以从数据库中获取产品对象:getProductSingle()getProduct()。我对每种方法下面的代码感到困惑,所以我想知道它们之间的差异以及我必须使用getProductSingle而不是getProduct的时候。

VirtueMartModelProduct类位于:administrator\components\com_virtuemart\models\product.php

2 个答案:

答案 0 :(得分:3)

我知道它有点晚了,但你可以理解它。 正如Virtuemart的文档所说

  

getProduct()函数创建一个具有属性的产品   父节点。

我们知道在Virtuemart中,我们可以让儿童产品留下一些将从母产品中获取的参数。 所以我们设置产品

  

家长 价格 = $ 100,制造商 ='xyz'。

现在,如果创建两个子产品,如:

使用空白<​​em>价格和制造商

创建

Child1 创建了

Child2 ,其中包含自己的值价格 = $ 250,制造商 ='abc'。

  

买家最终会看到:

     

Child1 价格 = $ 100,制造商 ='xyz',取自其母公司。

     

Child2 价格 = $ 250,制造商 ='abc'。

使用函数和返回数据:

Child1 getProductSingle(),返回制造商 ='',在同一只手getProduct()上,返回制造商 ='xyz'。

Child2 getProductSingle()getProduct()都返回制造商 ='abc',因为它直接设置在该产品上。

  

参数还有其他差异,因为您使用salesPrice获取getProduct(),但如果您使用getProductSingle()

则必须计算最终价格

答案 1 :(得分:0)

当您检查两个功能时,您将得到原因,即使名称本身也能感知它的功能。

getProductSingle()只会收集一个产品详情。

getProducts()将获取产品详情列表。

更多详细信息getProducts()使用getProductSingle()函数收集多个产品详细信息。

因此,您需要使用getProducts()获取产品详细信息列表。如果您只需要一个产品详细信息,请使用getProductSingle()

希望它有意义......