Magento在Stock.php中获取产品属性文本

Magento在Stock.php中获取产品属性文本,php,magento,stock,magento-1.8,m2e-pro,Php,Magento,Stock,Magento 1.8,M2e Pro,我一直在尝试调整因销售而减少的库存量,这取决于产品的属性,我尝试了以下方法,但似乎一无所获 Magento版本:1.8.0.0 文件:/app/code/core/Mage/CatalogInventory/Model/Resource/Stock.php 第158行前后:foreach$productQtys as$productId=>quaty 我添加了以下代码: $CheckLength = Mage::getModel('catalog/product')->load($_ite

我一直在尝试调整因销售而减少的库存量,这取决于产品的属性,我尝试了以下方法,但似乎一无所获

Magento版本:1.8.0.0

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

第158行前后:foreach$productQtys as$productId=>quaty

我添加了以下代码:

$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:此属性与其他两个选项一起位于下拉列表中


希望有人能帮忙!提前谢谢。

您是否尝试转储$CheckLength?也许这个值并没有以您认为的方式出现


顺便说一下,编辑核心文件从来都不是个好主意。您应该开发一个扩展。

您是否尝试过使用var\u dump$CheckLength?也许这个值并没有以您认为的方式出现


顺便说一下,编辑核心文件从来都不是个好主意。您应该开发一个扩展。

最终解决了它,下面的工作-我必须在工作之前尝试了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工作。

最终解决了这个问题,下面的工作-我必须在工作之前尝试了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正常工作。

谢谢BuzzJoe。我想知道如何得到一个要显示的值,这样我就可以检查它,在处理时这个值会转储到日志或屏幕上吗。var_dump将在脚本输出中提示变量的值及其类型。因此,当您在浏览器中重新加载将运行这行代码的页面时,它会出现。您也可以将其写入magento的日志文件。只需搜索如何做到这一点。谢谢BuzzJoe。我想知道如何得到一个要显示的值,这样我就可以检查它,在处理时这个值会转储到日志或屏幕上吗。var_dump将在脚本输出中提示变量的值及其类型。因此,当您在浏览器中重新加载将运行这行代码的页面时,它会出现。您也可以将其写入magento的日志文件。只需搜索如何做到这一点。