2015-07-10 3 views
0

У меня есть специальная форма регистрации, интегрированная на страницу CMS, через которую, если пользователь создаст учетную запись, ему будет назначена специальная группа клиентов. Я хочу создать форму загрузки изображения, через которую клиент может загрузить свое удостоверение личности при регистрации через эту форму.Загрузка изображения при регистрации Magento

Эта фотография будет сохранена в каталоге Media/Customer или отправлена ​​по электронной почте в виде вложения.

Я новичок, так что полное руководство будет высоко оценено.

Спасибо,

ответ

0

1-ставить ниже код в форму

<input type="file" name="customerimg" value="" /> 

2- в контроллере в почтовом действии положить ниже код

public function postAction() 
{  $post = $this->getRequest()->getPost(); 
    if ($post) { 
    if (isset($_FILES)){ 
      if ($_FILES['customerimg']['name']) { 
        $path = Mage::getBaseDir('media') . DS . Customer . DS; 
        $uploader = new Varien_File_Uploader('customerimg'); 
        $uploader->setAllowedExtensions(array('jpg','png','gif')); 
        $uploader->setAllowRenameFiles(false); 
        $uploader->setFilesDispersion(false); 
        $destFile = $path.$_FILES['customerimg']['name']; 
        $filename = $uploader->getNewFileName($destFile); 
        $uploader->save($path, $filename); 

      } 
     } 

    $model = Mage::getModel('yourmodel')->setData($post); 
    $model->save(); 

    $mail = new Zend_Mail('utf-8'); 

$recipients = array(
    Mage::getStoreConfig('trans_email/ident_custom1/name') => Mage::getStoreConfig('trans_email/ident_custom1/email'), 
    Mage::getStoreConfig('trans_email/ident_custom2/name') => Mage::getStoreConfig('trans_email/ident_custom2/email'), 
); 
$mailBody = "<b>Error Code: </b>" . $errorCod . "<br /> 
"; 
$mailBody .= "<b>Error Massage: </b>" . $errorMsg . "<br /> 
"; 
$mail->setBodyHtml($mailBody) 
    ->setSubject('Lorem Ipsum') 
    ->addTo($recipients) 
    ->setFrom(Mage::getStoreConfig('trans_email/ident_general/email'), "FromName"); 


    //file content is attached 
$file  = Mage::getBaseDir('media') . DS . Customer . DS . $filename; 
$attachment = file_get_contents($file); 
$mail->createAttachment(
    $attachment, 
    Zend_Mime::TYPE_OCTETSTREAM, 
    Zend_Mime::DISPOSITION_ATTACHMENT, 
    Zend_Mime::ENCODING_BASE64, 
    'attachment_1.log' 
); 

try { 
    $mail->send(); 
} catch (Exception $e) { 
    Mage::logException($e); 
} 

} 
} 
+0

Дорогой, кажется многообещающим, но я m, но путайте, в каком контроллере я точно должен написать этот код, а где-то в google, я читал, что форма enctype должна быть multipart/form-data. –

+0

в действии формы вам нужно назначить действие своего настраиваемого модуля, например

В вашем модуле есть контроллер. пожалуйста, обратитесь к http://code.tutsplus.com/tutorials/magento-custom-module-development--cms-20643 –

+0

ладно, позвольте мне попробовать. –

Смежные вопросы