在VirtueMartModelProduct类中,有两种方法可以从数据库中获取产品对象:getProductSingle()
和getProduct()
。我对每种方法下面的代码感到困惑,所以我想知道它们之间的差异以及我必须使用getProductSingle
而不是getProduct
的时候。
VirtueMartModelProduct类位于:administrator\components\com_virtuemart\models\product.php
答案 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()
。
希望它有意义......