2017-01-02 1 views
2

Я хочу сохранить данные о костюмах в корзине, у меня есть данные проверки в базе данных, но когда я получаю, тогда он вернется null.Как добавить пользовательские данные в корзину в magento

У меня есть возможность добавить данные о товаре в корзину.

Observer.php

public function checkoutCartProductAddAfter(Varien_Event_Observer $observer){ 
    try { 
     $data = $this->_getRequest()->getPost(); 
     $item = $observer->getEvent()->getQuoteItem(); 
     $item->setData('customize_data', $data['customize_data']); 
     $item->setData('customize_image', $data['customize_image']); 
     $item->save(); 
    } 
    catch (Exception $e) { 
     Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); 
    } 
} 

Я хочу изменить изображение на странице корзины, так что я создать файл ниже.

<?php 
class ProductCustomizer_ProductCustomizer_Block_Checkout_Cart_Item_Renderer extends Mage_Checkout_Block_Cart_Item_Renderer{ 
    public function getProductThumbnail() 
    { 
     $customize_data = $this->getItem()->getData('customize_data'); 
     $customize_image = $this->getItem()->getData('customize_image'); 
     Mage::log('customize_data'); 
     Mage::log($customize_data); 
     Mage::log('customize_image'); 
     Mage::log($customize_image); 
     if (!empty($customize_image)) { 
      return $customize_image; 
     } else { 
      return parent::getProductThumbnail(); 
     } 
    } 
} 

Я получаю ниже бревен в system.log файл

2017-01-02T06:38:29+00:00 DEBUG (7): customize_data 
2017-01-02T06:38:29+00:00 DEBUG (7): 
2017-01-02T06:38:29+00:00 DEBUG (7): customize_image 
2017-01-02T06:38:29+00:00 DEBUG (7): 
+0

привет есть вы добавили новый столбец в таблице элементов цитаты – faizanbeg

+0

Нет, я не добавил новый столбец –

+0

добавить, сохранить данные в него, то вы можете получить его – faizanbeg

ответ

2

Вы можете сделать эту вещь без добавления нового столбца в таблице элементов,

Observer.php

public function checkoutCartProductAddAfter(Varien_Event_Observer $observer){ 
    try { 
      $data = Mage::app()->getRequest()->getPost(); 

      $item = $observer->getQuoteItem(); 

      $additional_info = $item->getadditional_info(); 
      $additional_info = unserialize($additional_info); 

      $additional_info['customize']['customize_data'] = $data['customize_data']; 
      $additional_info['customize']['customize_image'] = $data['customize_image']; 

      $item->setAdditionalInfo(serialize($additional_info)); 

      $item->save(); 
     } 
     catch (Exception $e) { 
      Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); 
     } 
} 

CART Страницы:

class ProductCustomizer_ProductCustomizer_Block_Checkout_Cart_Item_Renderer extends Mage_Checkout_Block_Cart_Item_Renderer{ 
    public function getProductThumbnail() 
    { 
    $additional_info = $this->getItem()->getData('additional_info'); 
    $additional_info = unserialize($additional_info); 
    if(isset($additional_info['customize']) && $additional_info['customize']){ 
     Mage::log('customize_data'); 
     Mage::log($additional_info['customize']['customize_data']); 
     Mage::log('customize_image'); 
     Mage::log($additional_info['customize']['customize_image']); 

     return $additional_info['customize']['customize_image']; 
    } 
    return parent::getProductThumbnail(); 
    } 
} 
+0

Спасибо, что она работает нормально. –