2012-07-16 4 views
0

Magento의 카트에 이미있는 구성 가능한 제품의 옵션 (드롭 다운 선택 사용)을 업데이트하는 방법을 누구든지 알려 줄 수 있습니까?Magento 1.6.2의 카트에 이미있는 구성 가능한 제품의 옵션을 업데이트하십시오.

다음 파일에 구성 가능한 제품의 수퍼 애트리뷰트 옵션 (드롭 다운 목록 사용)을 표시하는 코드를 넣습니다. magento\app\design\frontend\default\theme-name\template\checkout\cart\item\default.phtml.

나는이 코드 라인을 발견 : 그 후

<?php if ($_options = $this->getOptionList()):?> 

을, 나는 구성 제품, 그 작업 벌금 속성 드롭 다운 목록을 표시하려면 코드를 넣어,하지만 난 슈퍼 속성 옵션을 업데이트해야 슈퍼 속성 드롭 다운 목록에서 다른 옵션을 선택할 때 해당 제품의 값.

<?php 
if($this->getProduct()->isConfigurable()){ 
    $_product = Mage::getModel('catalog/product')->load($this->getProduct()->getId()); 
    Mage::getBlockSingleton('catalog/product_view_type_configurable')->unsetData(); 
    $_configurable = Mage::getBlockSingleton('catalog/product_view_type_configurable')->setData('product', $_product); 
    $_cdata = json_decode($_configurable->getJsonConfig()); 
    $_current = array(); 
    foreach((array)$this->getOptionList() as $_option) { 
     $_current[$_option['label']]=$_option['value']; 
    } 
    foreach($_cdata->attributes as $attribute) { 
     ?> 
     <strong><?php echo $attribute->label; 
     $catchlabel = $attribute->label; 
     if($catchlabel == 'Clipboard Color'): 
      $SelectOptions = "selectAtt"; 
     else: 
      $SelectOptions = "selectFont"; 
     endif; 
     ?> 
     </strong> 
     <select style="width: 150px;" 
name="cart[<?php echo $_item->getId() ?>][option][<?php echo $attribute->id ?>]" 
id="<?php echo $_item->getId(); ?>_<?php echo $attribute->id; ?>" 
class="<?php echo $SelectOptions; ?>"> 
      <?php 
      foreach($attribute->options as $option) { 
       ?> 
       <option 
       <?php echo ($_current[$attribute->label]==$option->label) ? ' selected' : '' ?> 
        value="<?php echo $option->id ?>"> 
        <?php echo $option->label ?> 

       </option> 
       <?php 
      } 
      ?> 
     </select> 
     <script type="text/javascript"> 
      jQuery('#<?php echo $_item->getId(); ?>_<?php echo $attribute->id; ?>').change(function() { 
       var getOption = jQuery('#<?php echo $_item->getId(); ?>_<?php echo $attribute->id; ?>').val(); 
       // something to do here for update attibute options for current product 
       alert(getOption); 
      }); 
     </script> <?php 
    } 
} 
?> 

방법 선택한 구성 제품의 슈퍼 속성 옵션을 업데이트 말해주십시오 : 아래의 메뉴를 표시하는 내 코드입니다.

답변

0

업데이트를 처리하는 컨트롤러 작업에 새 구성 정보를 제출해야합니다.

Magento에는 이러한 제어기 조치가 없지만 카트에서 구성 가능한 단일 제품을 편집 할 때 약간 다른 마크 업과 함께 제품보기가 표시됩니다. 해당 페이지의 양식은 새 페이지를 추가하는 대신 장바구니에서 제품을 편집하는 데 사용됩니다.

해당 컨트롤러 동작의 알고리즘을 확인하고 장바구니의 모든 제품에 해당 알고리즘을 적용하는 컨트롤러가있는 모듈을 만들어야합니다.

관련 문제