如何从magento的前端上传产品的图像

时间:2015-04-09 05:01:04

标签: image magento product

我正在尝试在管理面板中上传产品图片。它工作正常,但现在我想在前端上传产品的图像。

我的意思是客户可以从前端上传产品图片。 那怎么可能呢?

2 个答案:

答案 0 :(得分:4)

首先在media / import中上传图片

if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != '') {
    $fileName       = $_FILES['file']['name'];
    $fileExt        = strtolower(substr(strrchr($fileName, "."), 1));
    $fileNamewoe    = rtrim($fileName, $fileExt);
    $fileName       = str_replace(' ', '', $fileNamewoe) . $fileExt;

    $uploader       = new Varien_File_Uploader('file');
    $uploader->setAllowedExtensions(array('png', 'jpg', 'jpeg')); //allowed extensions
    $uploader->setAllowRenameFiles(false);
    $uploader->setFilesDispersion(false);
    $path = Mage::getBaseDir('media') . DS . 'import';
    if(!is_dir($path)){
        mkdir($path, 0777, true);
    }
    $uploader->save($path . DS, $fileName );
}

现在使用已上传的图片保存产品

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product = Mage::getModel('catalog/product')->load($id);
$product->setMediaGallery (array('images'=>array (), 'values'=>array ())) //media gallery initialization
$imagePath = Mage::getBaseDir('media') . DS . 'import/'. $fileName;
$product->addImageToMediaGallery($imagePath,array('image', 'small_image', 'thumbnail'),true,false);
$product->save();

答案 1 :(得分:1)

Magento中最受欢迎和最需要的东西之一是文件上传自定义选项。正如去年在Magento论坛所讨论的那样,它没有完成也没有经过测试。

现在,Magento已经在主题中实现了文件上传选项的前端和管理部分。由于后端部分仍然缺失,请了解这仍然不起作用,但是,如果您对它的外观感兴趣,请继续阅读

http://inchoo.net/magento/file-upload-in-magento/