我有一个在 catalog_product_save_after 运行的观察者。我正在检查某些属性是否已更改。这很容易做到这一点;
$_product = Mage::registry('current_product');
$old = $_product->getOrigData('text_attribute');
$new = $_product->getData('text_attribute');
if($new != $old){
// text_attribute has changed...
}
现在我需要获取选择属性的产品原始文本值(不是ID)。
我试过了;
echo $_product->getOrigData('select_attribute'); // outputs int like 8947, I need the text!
echo $_product->getOrigAttributeText('select_attribute'); // Didn't work but it was worth a try.
有没有一种简单的方法可以实现这一点,还是我需要使用 getOrigData 查找文本值时返回的int?
答案 0 :(得分:0)
您可以尝试使用此代码。
$oldText = Mage::getModel('eav/entity_attribute')
->loadByCode(Mage_Catalog_Model_Product::ENTITY, 'text_attribute')
->getFrontend()
->getOption($old);
$newText = Mage::getModel('eav/entity_attribute')
->loadByCode(Mage_Catalog_Model_Product::ENTITY, 'text_attribute')
->getFrontend()
->getOption($new);