【发布时间】:2016-08-02 15:16:57
【问题描述】:
我正在尝试在管理面板中上传产品图片。它工作正常,但现在我想在前端上传产品图片。
我的意思是客户可以从前端上传产品图片。 那么这怎么可能呢?
【问题讨论】:
我正在尝试在管理面板中上传产品图片。它工作正常,但现在我想在前端上传产品图片。
我的意思是客户可以从前端上传产品图片。 那么这怎么可能呢?
【问题讨论】:
首先在 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();
【讨论】:
Magento 中最令人期待和需要的东西之一是文件上传自定义选项。正如去年在 Magento 论坛上所讨论的,它尚未完成或测试。
现在,Magento 已经在主题中实现了文件上传选项的前端和管理部分。由于仍然缺少后端部分,请理解这仍然不起作用,但是,如果您对它的外观感兴趣,请继续阅读
【讨论】: