2013-10-24 9 views
0

Magento 버전 1.6.1.0. 구성 가능한 제품의 옵션 가격을 동적으로 업데이트 할 코드를 작성하려고합니다. 궁극적 인 목표는 구성 가능한 제품의 가격에 따라 구성 가능한 제품의 가격을 업데이트 할 모듈을 작성하는 것입니다. 첨부 된 코드는 카탈로그에서 구성 가능한 모든 제품을 추출하여 제품 옵션 & 가격과 어린이 제품 이름 & 가격과 함께 표시합니다. 구성 가능한 제품과 각 하위 제품 간의 가격 차이를 해결하고 적절한 가격 옵션을 업데이트 할 계획입니다. 지금까지 제품 옵션의 가격을 업데이트하는 방법을 찾지 못했습니다.Magento - 구성 가능한 제품 옵션의 가격 업데이트

짧은 버전 : 구성 가능한 제품의 가격을 업데이트하는 방법이 필요합니다. 이 작업을 수행하는 방법을 알고 있습니까?

<?php 
require_once './app/Mage.php'; 
Mage::app(); 
Mage::app()->setCurrentStore(1); 

// load in configurable products 
$productConfig = Mage::getResourceModel('catalog/product_collection')->addAttributeToFilter('type_id', 'configurable'); 
foreach ($productConfig as $_product) 
{ 
    // load the configurable product 
    $_product = Mage::getModel('catalog/product')->load($_product->getId()); 
    echo 'Product Name'; 
    var_dump ($_product->getName()); 
    var_dump ($_product->getPrice()); 
    // Collect options applicable to the configurable product 
    $productAttributeOptions = $_product->getTypeInstance(true)->getConfigurableAttributesAsArray($_product); 
    $attributeOptions = array(); 
    foreach ($productAttributeOptions as $productAttribute) 
     { 
     var_dump($productAttribute['label']); 
     foreach ($productAttribute['values'] as $attribute) 
      { 
      var_dump($attribute); 
      } 
     } 

    // loop through the child products 
    echo 'Child products'; 
    $col = Mage::getModel('catalog/product_type_configurable')->setProduct($_product)->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions(); 
    foreach($col as $simple_product) 
    { 
     var_dump($simple_product->getName()); 
     var_dump($simple_product->getPrice()); 
    } 
} 
echo '~fin'; 
?> 

고마워요!

답변

0

글쎄, 나는 머리를 긁어 낸 후 이걸 풀었다. 내가 "올바르게"했는지 아닌지 나는 모른다.

catalog_product_super_attribute_pricing 테이블의 가격을 조정하기 위해 SQL을 수동으로 실행하여 문제를 해결했습니다. 이 작업을 수행하려면 product_super_attribute_id이 필요하며 제품 ID가있는 경우 catalog_product_super_attribute 테이블에서 가져올 수 있습니다.

하나의주의 사항 : 옵션에 대한 백엔드에 가격이 존재하지 않는 경우 (옵션이 존재하지만 선택한 경우 제품 가격에 £ 0을 추가하면) catalog_product_super_attribute_pricing 테이블에 해당 옵션에 대한 레코드가 없습니다 이 경우 업데이트 대신 삽입 쿼리가 필요합니다.

0

동일한 문제가 있었지만 같은 일을하기 시작했습니다 : 구성 가능한 제품의 옵션을 업데이트하는 모듈을 작성하십시오.

나는 최근에 여기를 게시 : Magento Configurable Auto Pricing

난 그냥 EE 1.12으로 테스트하지만 CE와도 작동해야하며, 사람이 그것을 시도하고 나에게 의견이나 더 나은 쓰기를주고 싶다면 내가 기쁠 것 자신의 수정 및 커밋 :)

관련 문제