如何获取产品状态和可见性选项的友好文本。例如,“启用”或“禁用”而不是 1 或 2,同样对于可见性“单独不可见”、“目录、搜索”等而不是 1、2、3 或 4?
我猜某处有一个函数可以获取$product->getStatus
并返回文本值?和一个类似的可见性?
我只是在玩习惯 magento 尝试构建一个简单的列表:
$products = Mage::getModel('catalog/product')
->getCollection();
foreach ( $products as $product ) {
echo $product->getSku();
echo $product->getStatus();
echo $product->getVisibility();
}
但希望状态和可见性像在管理页面中一样显示,而不是数值。
编辑:在 Mufaddal 的回答的帮助下,我的最终解决方案是;
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('sku')
->addAttributeToSelect('status')
->addAttributeToSelect('visibility')
->addAttributeToSort('sku', 'asc');
foreach( $products as $product ){
echo 'SKU: ' .$product->getSku() . '<br/>';
echo 'Visibility: ' . $product->getResource()->getAttribute('visibility')->getFrontend()->getValue($product); . '<br/>';
echo 'Status: ' . $product->getResource()->getAttribute('status')->getFrontend()->getValue($product); . '<br/>';
}
->addAttributeToSelect('*')
在 getResource 调用起作用之前,我需要在 select 中指定或指定每个属性,例如$product->getResource()->getAttribute('status')->getFrontend()->getValue($product);
。