功能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