我正在尝试在管理面板中上传产品图片。它工作正常,但现在我想在前端上传产品的图像。
我的意思是客户可以从前端上传产品图片。 那怎么可能呢?
答案 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已经在主题中实现了文件上传选项的前端和管理部分。由于后端部分仍然缺失,请了解这仍然不起作用,但是,如果您对它的外观感兴趣,请继续阅读