功能getProductDefaultQty仅视框上可用,而不是列表:(
你可以重写类Mage_Catalog_Block_Product_List与客户模块,并在您模块的类此功能。
对于这个答案,我会打电话给你的模块Nat_Quantity的缘故(如果你喜欢,你可以改变这一点)
步骤1:创建一个XML moudle
在/应用的/ etc /模块/创建一个文件Nat_Quantity.xml。它应该看起来像(注意codePool有一个大写的P)。
<?xml version="1.0"?>
<config>
<modules>
<Nat_Quantity>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Catalog />
</depends>
</Nat_Quantity>
</modules>
</config>
第2步:创建你的模块文件夹结构
在/应用程序/代码/本地/创建文件夹NAT,然后在那里创建的文件夹数量。 在此数量文件夹下创建以下两个文件夹等和块。 (注意等是小写)
第3步:创建你的config.xml
在/应用程序/代码/本地/ NAT /数量/等创建config.xml文件,这将是这个样子:
<?xml version="1.0"?>
<config>
<modules>
<Nat_Quantity>
<version>1.0.0</version>
</Nat_Quantity>
</modules>
<global>
<blocks>
<catalog>
<rewrite>
<product_list>Nat_Quantity_Block_Product_List</product_list>
</rewrite>
</catalog>
</blocks>
</global>
</config>
第3步:创建块
在/应用程序/代码/本地/ NAT /数量/座/产品创造list.php的这将看起来如下:
<?php
class Nat_Quantity_Block_Product_List extends Mage_Catalog_Block_Product_List {
/**
* Get default qty - either as preconfigured, or as 1.
* Also restricts it by minimal qty.
*
* @param null|Mage_Catalog_Model_Product
*
* @return int|float
*/
public function getProductDefaultQty($product)
{
$qty = $this->getMinimalQty($product);
$config = $product->getPreconfiguredValues();
$configQty = $config->getQty();
if ($configQty > $qty) {
$qty = $configQty;
}
return $qty;
}
}
这应该允许您在列表模板中调用$ this-> getProductDefaultQty($ product)。您将需要传递到功能验证产品或者你可以通过在产品ID,然后加载该产品在功能
$product = Mage::getModel('catalog/product')->load($productId);
谢谢你,请原谅我,因为我没有太多的经验,但我会在哪里能够找到我需要修改的内容? – 2013-02-14 23:52:57
查看更新的答案。希望这有助于 – dmanners 2013-02-15 08:15:13
这是否帮助你解决问题? – dmanners 2013-05-18 17:35:35