2017-04-27 8 views
0

をカスタムイメージを割り当て、我々は物事の下にやっている:は「</strong>をcart1に追加<strong>」ボタンをゲストユーザー]をクリックすると、プログラム、Magentoの1.8作成した製品に

1]我々はプログラム的

をシンプルな製品を作成しています2]その製品にカスタム画像を割り当てています。ログインボタン」上のユーザーをクリックすると、「ログイン」ボタン

をクリックしてサイトにログインすること

3]を表示1以上のポップアップ、我々は物事の下にやっている:

1]私たちが作成していますシンプルな製品、プログラム

2]我々は、その製品にカスタムイメージを割り当てるされていません。

が、ここでは、その製品にカスタムイメージを割り当てる必要があります。

質問=>

がcart1コードに追加更新210

public function thisSimpleProductAndRedirectAction() 
    { 
     $originalProductId = $this->getRequest()->getParam("id"); 
     // $productNameArray = explode(" - ",$this->getRequest()->getParam("id")); 
     // $originalProductId = $productNameArray[0]; 
     $newImagePath  = $this->getRequest()->getParam("image"); 
     $originalProduct = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($originalProductId); 

     if ($product = $this->_createProduct(Mage_Catalog_Model_Product_Type::TYPE_SIMPLE, true, $originalProduct, $newImagePath)) { 
      $this->getResponse()->setBody(Mage::helper('core')->jsonEncode("custom image saving")); 
     } 
     else{ 
      $this->getResponse()->setBody(Mage::helper('core')->jsonEncode("custom image not saving")); 
     } 

    } 

protected function _thisImage($type, $doSave = true, $originalProduct, $newImagePath = "") 
    { 

     // code for Guest 
     Mage::register('isSecureArea',true);  
     $session = Mage::getSingleton('customer/session'); 



     $result = array(
      'success' => false 
     ); 

     $login =""; 
     $productId =""; 
     if ($this->getRequest()->isPost()) { 
      $login  = $this->getRequest()->getPost('login'); 
      $productId = $this->getRequest()->getPost('product_id'); 
     } 
      // echo $login['product_id'];die; 
      // if (!empty($login['username']) && !empty($login['password'])) { 
       try { 
        if(isset($login) && (is_array($login) && !empty($login)) || ($login!="")){ 
         $session->login($login['username'], $login['password']); 
         $result['redirect'] = $this->_getRefererUrl() ? $this->_getRefererUrl() : Mage::getUrl('customer/account', array(
          '_secure' => true 
         )); 
         $result['success'] = true; 
         $customerId   = Mage::getSingleton('customer/session')->getCustomerId(); 
        } 
        else{ 
         $customerId = ""; 
        } 

        // code for guest end   

        $product->setName($originalProduct->getName()); 

        // add images 

        $images = array(
         'thumbnail' => 'image.png', // displaying under cart page 

         'image' => 'image.png' // displaying under my design 
        ); 

        foreach ($images as $imageType => $imageFileName) { 
         if ($newImagePath != "") { 
          $dir = Mage::getBaseDir('media') . DS . 'custom_product_preview/quote/'; 
          $path = $dir . $newImagePath; 
         } else { 
          $dir = Mage::getBaseDir('media') . DS . 'example/amasty/'; 
          $path = $dir . $imageFileName; 
         } 
         //echo $path."<br>"; 
         if (file_exists($path)) { 
          try { 
           $product->addImageToMediaGallery($path, $imageType, false); 
          } 
          catch (Exception $e) { 
           echo $e->getMessage(); 
          } 
         } else { 
          echo "Can not find image by path: `{$path}`<br/>"; 
         } 
        }     

        $emailimage = Mage::helper('catalog/image')->init($product, 'thumbnail'); 

        if ($doSave) 
         $product->save();     

        return $product; 

        // code for guest 

       } 
       catch (Mage_Core_Exception $e) { 
        switch ($e->getCode()) { 
         case Mage_Customer_Model_Customer::EXCEPTION_EMAIL_NOT_CONFIRMED: 
          $message = Mage::helper('customer')->__('This account is not confirmed. <a href="%s">Click here</a> to resend confirmation email.', Mage::helper('customer')->getEmailConfirmationUrl($login['username'])); 
          break; 
         case Mage_Customer_Model_Customer::EXCEPTION_INVALID_EMAIL_OR_PASSWORD: 
          $message = $e->getMessage(); 
          break; 
         default: 
          $message = $e->getMessage(); 
        } 
        $result['error'] = $message; 
        $session->setUsername($login['username']); 
       } 
       catch (Exception $e) { 
        $result = "ERROR :".$e->getMesage(); 

     Mage::unregister('isSecureArea'); 
     $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result)); 
     // code for guest end 
    } 

は以下の通りです:

<button onclick="return setproductlogin(\'<?php echo 

Mage::registry("current_product")->getId()?>\', event);" 

id="submit-editorApply-{{rand}}" >Add to cart1</button> 

アップデート2:

我々はadd to cart1をクリックしたら、それはlink5にリダイレクト画像パラメータ付き

と我々はloginをクリックしたとき、それはそう画像のみがログインのために作成していない、画像のparamなしlink1にリダイレクト.....

答えて

0

メディア/インポートフォルダ内の製品の画像をアップロードしてください

$importDir = Mage::getBaseDir('media') . DS . 'import/'; 
$img1=$importDir.'sample.jpg'; 
$img2=$importDir.'sample1.jpg'; 
$imgarray=array('sample.jpg','sample.jpg'); 
if(count($imgarray)>0){ 
    $simpleproductImg = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku); 
    $simpleproductImg->setMediaGallery(array('images' => array(), 'values' => array())); 
    foreach($imgarray as $imkey=>$imgpath){ 
     if($imkey==0){ 
      $simpleproductImg->addImageToMediaGallery($imgpath, array('image','thumbnail','small_image'), false, false); 
     }else{ 
      $simpleproductImg->addImageToMediaGallery($imgpath, array(), false, false); 
     } 
    } 
    $simpleproductImg->save(); 
} 
関連する問題