我一直在尝试找到一种方法将照片添加到 Magento 的客户资料中。除了这个,他们什么都有,我在任何地方都找不到怎么做。任何帮助表示赞赏。我正在使用社区版。
问问题
5622 次
1 回答
3
要在 magento 中为客户上传个人资料照片,我们需要执行以下几个步骤。
- 为个人资料照片添加一个新字段(如何为客户创建新字段- 检查此链接它将帮助您)。
上面的链接可帮助您在 DB 中添加新文件,您需要手动上传该照片,下面的代码将帮助您在 magento 中上传照片。
if(isset($_FILES['logo']['name']) and (file_exists($_FILES['logo']['tmp_name']))) { try { $uploader = new Varien_File_Uploader('logo'); $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); $uploader->setAllowRenameFiles(false); $uploader->setFilesDispersion(false); $path = Mage::getBaseDir('media') . DS .'catalog/customer/logo/'; $newName = time() . $_FILES['logo']['name']; $uploader->save($path, $newName); $customer->setLogo($newName); // actual path of image $imageUrl = $path . $newName; // path of the resized image to be saved // here, the resized image is saved in media/resized folder $imageResized = $path . $newName; // resize image only if the image file exists and the resized image file doesn't exist // the image is resized proportionally with the width/height 135px if (!file_exists($imageResized)&&file_exists($imageUrl)) : $imageObj = new Varien_Image($imageUrl); $imageObj->constrainOnly(TRUE); $imageObj->keepAspectRatio(TRUE); $imageObj->keepFrame(FALSE); $imageObj->resize(150, 150); $imageObj->save($imageResized); endif; }catch(Exception $e) { } }
上传后我们需要将文件名保存在数据库中。
$customer->setLogo($newName);
于 2012-05-03T05:47:08.797 回答