Я пытаюсь найти способ добавить фотографию в профиль клиента в Magento. У них есть все, кроме этого, и я не могу найти нигде, как это сделать. Любая помощь приветствуется. Я использую версию сообщества.Magento - Профиль клиента Загрузка фотографий
2
A
ответ
3
Чтобы загрузить фотографию профиля для пользователя в magento, нам нужно выполнить несколько шагов, как показано ниже.
- Добавить новое поле для фотографий профиля (How to create new fields for customer - Посмотрите на эту ссылку, это поможет вам).
Вышеупомянутая ссылка поможет вам добавить новую заявку в БД, и вам необходимо загрузить эту фотографию вручную, указанный ниже код поможет вам загрузить фотографии в пурпурно.
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);
Смежные вопросы
- 1. Профиль клиента
- 2. Загрузка фотографий
- 3. Загрузка и изменение изображения клиента в Magento
- 4. Загрузка фотографий в ASP.NET
- 5. Magento ссылка на административную область - изменить профиль клиента
- 6. Загрузка фотографий и фотографий с несколькими фотографиями
- 7. Detect профиль клиента меняется
- 8. JQuery Slider Загрузка фотографий
- 9. Загрузка фотографий предотвращает переписывание
- 10. Загрузка фотографий на Safari
- 11. Загрузка большого количества фотографий
- 12. Facebook Загрузка фотографий
- 13. Загрузка файлов только фотографий
- 14. iOS - Фоновая загрузка фотографий
- 15. Facebook Album Загрузка фотографий
- 16. Загрузка фотографий CodeIgniter
- 17. Instagram API Загрузка фотографий
- 18. Профиль клиента .NET на x64
- 19. Загрузка фотографий по электронной почте
- 20. Загрузка фотографий на страницу вентилятора
- 21. Загрузка нескольких фотографий в форму
- 22. Загрузка фотографий внутри интерфейса active_admin
- 23. Загрузка альбома и фотографий picasa
- 24. Загрузка и использование фотографий Codeigniter
- 25. Facebook Graph API - Загрузка фотографий
- 26. Загрузка изображения/фотографий в struts1
- 27. Загрузка фотографий с помощью php
- 28. Загрузка фотографий по электронной почте
- 29. Загрузка фотографий в uitableview асинхронно
- 30. Загрузка фотографий, видео и аудио
Hi Sankar. Спасибо за решение! Я поместил код в наблюдателя моего модуля, но когда срабатывает событие «customer_save_before» или «customer_save_after» (внутри клиентского конца), массив $ _FILES пуст. Я получаю имя файла в массиве $ _POST, но я не получаю $ _FILES. Есть идеи? Может быть, вы можете предложить другое место, где я мог бы поставить этот код? – Alan
Хорошо, я понял. Форма «Дополнительная информация» требует атрибута enctype = «multipart/form-data». В противном случае он не будет отправлять файлы. – Alan