我正在尝试根据产品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...';
}
提前致谢,
答案 0 :(得分:26)
只需删除下划线:
$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吗?
答案 1 :(得分:2)
使用此
$strProdSkuSup = $product->getSkuSupplier();
而不是
$strProdSkuSup = $product->getSku_Supplier();