Magento 如何以编程方式将产品的基本映像设置为小映像?
我使用以下代码将基本图像设置为产品的小图像。 在运行代码之前,我有以下信息Magento 如何以编程方式将产品的基本映像设置为小映像?,magento,magento-1.7,Magento,Magento 1.7,我使用以下代码将基本图像设置为产品的小图像。 在运行代码之前,我有以下信息 --- ---- [image] => /s/a/santat.jpg [small_image] => [thumbnail] => /s/a/santa-300.jpg --- -- 但仍然在管理员没有图像设置为小图像为什么?我使用多网站设置 您需要更改代码 $product = Mage::getModel('catalog/product')->load($id); $medi
---
----
[image] => /s/a/santat.jpg
[small_image] =>
[thumbnail] => /s/a/santa-300.jpg
---
--
但仍然在管理员没有图像设置为小图像为什么?我使用多网站设置
您需要更改代码
$product = Mage::getModel('catalog/product')->load($id);
$mediaGallery = $product->getMediaGallery();
if (isset($mediaGallery['images'])){
foreach ($mediaGallery['images'] as $image){
Mage::getSingleton('catalog/product_action')->updateAttributes(array($product->getId()), array('small_image'=>$image['file']), 0);
break;
}
}
print_r($product);
[image] => /s/a/santa.jpg
[small_image] => /s/a/santa.jpg
[thumbnail] => /s/a/santa-300.jpg
$product = Mage::getModel('catalog/product')->load($id);
$mediaGallery = $product->getMediaGallery();
if (isset($mediaGallery['images'])){
foreach ($mediaGallery['images'] as $image){
Mage::getSingleton('catalog/product_action')->updateAttributes(array($product->getId()), array('small_image'=>$image['file']), 0);
break;
}
}
<?php
require 'app/Mage.php';
Mage::app();
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter( 'sku', array( 'in' => array("004XmasVacGrnShtrs") ) );
foreach($products as $product)
{
$productId = $product->getId();
echo "<br>";
//load the product
$product = Mage::getModel('catalog/product')->setStoreId("14")->load($productId);
//get all images
$image = $product->getImage(); //Get product base image
Mage::getSingleton('catalog/product_action')->updateAttributes(array($product->getId()), array('small_image'=>$image), 14); //14 is store id
}
echo "done";
?>