ฉันต้องการตั้งค่ารูปภาพเป็น 'ใช้ค่าเริ่มต้น' สำหรับรายการผลิตภัณฑ์และสำหรับรายการมุมมองร้านค้า ฉันรู้วิธีการทำทีละรายการสำหรับแต่ละผลิตภัณฑ์: setData (attributeName, false) และดังนั้นฉันจึงสามารถวนรอบรายการผลิตภัณฑ์ของฉันได้ ปัญหา: ช้าเกินไปจริง ๆ
$attrArray=array('thumbnail','small_image','image');
$products = array(170,171,172);
$stores = array(17,18,19);
foreach ($stores as $store_id) {
foreach ($products as $product_id) {
foreach ($attrArray as $attr) {
$product = Mage::getModel('catalog/product')
->load($product_id)->setStoreId($store_id)
->setData($attr, false)
->save();
}
}
}
ดังนั้นฉันลองใช้ Mage :: getSingleton ('catalog / product_action') -> updateAttributes ($ products, $ attrArray, $ store_id); แทนซึ่งควรจะทำสิ่งเดียวกัน แต่ผ่านรายการผลิตภัณฑ์ จริง ๆ แล้วมันทำอะไรบางอย่าง: รูปภาพทั้งหมดของฉันถูกตั้งค่าเป็น 'ไม่มีภาพ' แต่ไม่ใช่ 'ใช้ค่าเริ่มต้น' ตามที่คาดไว้
$attrArray = array('thumbnail'=>false,'small_image'=>false,'image'=>false);
$products = array(170,171,172);
$stores = array(17,18,19);
foreach ($stores as $store_id) {
Mage::getSingleton('catalog/product_action')
->updateAttributes($products, $attrArray, $store_id);
}
หากมีคนรอบข้างที่นี่มีความคิดมันจะช่วยฉันประหยัดเวลาได้จริงๆ! ขอบคุณ