如何獲取產品狀態和可見性選項的友好文本。例如,「啓用」或「禁用」而不是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指定在選擇每一個屬性調用會工作例如$product->getResource()->getAttribute('status')->getFrontend()->getValue($product);
。
您好Mufaddal,即使用: '$產品 - >的getResource() - >的getAttribute( '狀態') - > getFrontend() - >的getValue($產品);' 或 '$產品 - > getResource() - > getAttribute('status') - > getFrontend() - > getValue($ product);' 我總是得到** No **作爲結果返回? – fracture
你在哪裏顯示此信息? – Mufaddal
我想了一下.. - > getCollection默認不包含狀態和可見性值,我需要使用' - > addAttributeToSelect('sku')'或者單獨指定它們。 ' - > addAttributeToSelect('status')'那麼以前嘗試過的任何選項都會起作用。謝謝! – fracture