我正在尝试根据产品SKU获取一些产品数据.这是工作,但我也需要同时获取一个自定义添加的属性,名为’sku_supplier’.这可能吗?
这就是我所得到的:
require $_SERVER['DOCUMENT_ROOT'] . "/app/Mage.PHP"; Mage::app(); $sku = '748547'; $products = Mage::getResourceModel('catalog/product_collection'); $products->addAttributeToSelect('*'); $products->addAttributeToFilter('visibility',array('neq' => 1)); $products->addAttributeToFilter('status',1); $products->addAttributeToFilter('sku',$sku); $products->setCurPage(1)->setPageSize(1); $products->load(); if ($products->getFirstItem()) { $product = $products->getFirstItem(); $strProdName = $product->getName(); $strProdSku = $product->getSku(); $strProdSkuSup = $product->getSku_Supplier(); // <= I want to show this }else{ $addError = 'true'; $addErrorMessage[] = 'Error...'; }
提前致谢,
只需删除下划线:
$strProdSkuSup = $product->getSkuSupplier(); $strProdSkuSup = $product->getData('sku_supplier'); //alternative
当你想使用魔术吸引器时,Magento将snake_case转换为camelCase;即.属性代码cool_custom_attribute的属性将转换为coolCustomAttribute,即$product-> getCoolCustomAttribute().
编辑:
您可能需要加载产品型号,因为有时我经历过,当您将其从集合中拉出(为了性能原因我猜),并不是所有的自定义属性都被附加.就像是:
$_product = Mage::getModel('catalog/product')->load($product->getId()); $strProdSkuSup = $_product->getSkuSupplier();
另外,你知道有一个dedicated StackExchange site for Magneto吗?