如何获取产品状态和可见性选项的友好文本。例如,'启用'或'禁用'而不是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);
。
答案 0 :(得分:2)
您也可以尝试:
$product->getAttributeText('status')
哪些在某些情况下有效,而在其他情况下无效,但在有效的情况下,它比通过资源更短更简单。
答案 1 :(得分:0)
您可以尝试这样的事情
$products ->getResource()->getAttribute('status')->getFrontend()->getValue($products );
这是状态属性。