2013-11-26 136 views
2

我一直在嘗試調整銷售減少的庫存量,這取決於產品的屬性,我嘗試了以下方法,但似乎無處可尋。Magento獲取產品屬性文本Stock.php

的Magento版本:1.8.0.0

文件:/app/code/core/Mage/CatalogInventory/Model/Resource/Stock.php

後,周圍158線($的foreach作爲productQtys $的productId => $數量)

我已經添加以下代碼:

$CheckLength = Mage::getModel('catalog/product')->load($_item['product_id'])->getData('length'); 
if ($CheckLength == 'Per Half Metre') 
{ 
    $qty = $qty/2; 
} 

並且還嘗試這樣:

$myproduct = Mage::getModel('catalog/product'); 

if ($myproduct->getAttributeText('length')=='per Half Metre') 
{ 
    $qty = $qty/2; 
} 

這:

$storeId = Mage::app()->getStore()->getId(); // return current store id 
$CheckLength = Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, 'length', $storeId); 

if ($CheckLength == 'Per Half Metre') 
{ 
    $qty = $qty/2; 
} 

以上都不似乎工作。如果沒有檢查,數量除以2會非常好,但如果產品屬性是「每半米」,我只需要它就可以做到。

PS:該屬性與其他兩個選項一起下拉。

希望有人能幫助!提前致謝。

回答

4

終於搞清楚了,下面的工作 - 在這個工作之前,我一定嘗試了15種不同的變化。

$myproduct = Mage::getModel('catalog/product')->load($productId); 
$mylength = $myproduct->getAttributeText('length'); 

感謝BuzzJoe指着我在正確的方向,我最終使用:

Mage::Log('$productId: '.$productId, null, 'mylogfile.log'); 
Mage::Log('$mylength: '.$mylength, null, 'mylogfile.log'); 

保持對事物的檢查。無法讓var_dump工作。

0

你試過var_dump($ CheckLength)嗎?也許價值並不像你想象的那樣出現。

順便說一句:編輯核心文件永遠不是一個好主意。您應該改爲開發擴展。

+0

感謝BuzzJoe。我想知道如何得到一個值來顯示,所以我可以檢查它,這將轉儲到日誌或屏幕在處理? – user892970

+0

種。 var_dump()會提示變量的值,並在腳本的輸出中輸入。所以,當你在瀏覽器中重新加載一行代碼將運行的頁面時,它會出現。您也可以將它寫入magento的日誌文件。只要搜索如何做到這一點。 – BuzzJoe

相關問題