今天我又和 Magento 打架了 :) 我发现了两者之间的区别
$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $product_sku);
和
$product = Mage::getModel('catalog/product')->load($product_id);
谁能解释一下这两种方法之间的区别?我发现,当我通过 sku 加载产品时,当我尝试使用更改的数据重新保存它时,我收到错误异常 'Varien_Exception' 并显示消息 'Invalid method Varien_Object::save in app\code\core\Mage \CatalogInventory\Model\Observer.php(153): Varien_Object->__call('save', Array) 这是真的,因为一旦您尝试按 sku 加载,然后另一个观察者将产品的库存项目设置为 Varien_Object,这看起来像陷阱或者我只是不够了解,但是
我从一开始就每天进行 Magento 开发,所以我对系统了解很多,这对我来说是新的。在此先感谢,雅罗。