【问题标题】:Set product gallery images to base , thumbnail and small image Magento将产品图库图像设置为基本、缩略图和小图像 Magento
【发布时间】:2014-01-30 11:26:48
【问题描述】:

您好,我正在处理需要从前端添加产品的网站,为此我正在使用以下代码

<?php //$product = Mage::getModel('catalog/product');
$product = new Mage_Catalog_Model_Product();
echo time();
// Build the product
$product->setAttributeSetId(4);// #4 is for default
$product->setTypeId('simple');

$product->setName('Some cool product name');
$product->setDescription('Full description here');
$product->setShortDescription('Short description here');
$product->setSku(2);
$product->setWeight(4.0000);
$product->setStatus(1);
$product->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);//4
print_r(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);

$product->setPrice(39.99);// # Set some price
$product->setTaxClassId(0);// # default tax class

$product->setStockData(array(
'is_in_stock' => 1,
'qty' => 99999
));

$product->setCategoryIds(array(3));// # some cat id's,

$product->setWebsiteIDs(array(1));// # Website id, 1 is default

//Default Magento attribute

$product->setCreatedAt(strtotime('now'));



// Add three image sizes to media gallery
$mediaArray = array(
    'thumbnail'   => "me.jpg",
    'small_image' => "me.jpg",
    'image'       => "me.jpg",
);

// Remove unset images, add image to gallery if exists
$importDir = Mage::getBaseDir('media') . DS . 'import/';

foreach($mediaArray as $imageType => $fileName) {
    $filePath = $importDir.$fileName;
    if ( file_exists($filePath) ) {
        try {
            $product->addImageToMediaGallery($filePath, $imageType, false);

        } catch (Exception $e) {
            echo $e->getMessage();
        }
    } else {
        echo "Product does not have an image or the path is incorrect. Path was: {$filePath}<br/>";
    }
}



//print_r($product);
try {
    $product->save();

    echo "Product Created";
}
catch (Exception $ex) {
    //Handle the error
    echo "Product Creation Failed";
}

?>

这工作正常,但有一个问题 它不会将图像设置为基本默认和小图像。

它添加了产品的图像,但图像前面的复选框
未选中。我需要检查这些框。请建议我在哪里做错了。

谢谢

【问题讨论】:

标签: image magento add frontend product


【解决方案1】:

添加

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

之前

foreach($mediaArray as $imageType => $fileName) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 2019-02-09
    • 2012-02-11
    • 2019-04-18
    相关资源
    最近更新 更多