2013-06-13 3 views
6

Magento의 속성 세트를 변경하고 싶습니다. 검색 한 결과 모든 사용자가 제품을 삭제하고 새로운 속성 세트로 다시 가져올 것을 제안했습니다.Magento 제품의 속성 세트를 변경하십시오.

데이터를 가져온 후에도 동일한 작업을 수행했지만 제품 리뷰 및 제품과 관련된 블로그 게시물을 볼 수 없었습니다.

새로운 속성 세트를 사용하여 제품을 다시 가져온 후에 제품 리뷰 및 관련 블로그 게시물을 얻을 수 있다고 누가 알 수 있습니까?

답변

1

제품을 삭제하면 이전 리뷰를 얻을 수 없습니다.

제품을 삭제하지 않아도됩니다. 편집 및 사용하여 속성 세트를 변경할 수 있습니다. 다른 속성 집합을 새로 만들고 새 제품을 만듭니다.

0

저는 속성 세트를 변경하는 데 this extension을 사용합니다.

이전에 추천 한 확장 프로그램을 사용했는데 멋지 네요. 그러나 전자는 더 많은 기능을 가지고 있습니다.

2

할 가로장 설치 등등과 지저분한 조금 :

  • 은 당신이에 변화하는 제품을 삭제
  • 을 변경하려면
  • 내보내기 제품을 설정 설정해야합니다 새로운 속성을 확인 사이트
  • 변경 다운로드 한 파일
  • 가져 오기에 설정된 속성은 다시
  • 열고, 그 자체 변경된 각 제품 파일 변경 속성 값을 저장하십시오.

Amasty http://amasty.com/mass-product-actions.html의 멋진 확장 프로그램을 설치하십시오. 바람을 변화시키고 더 많은 시간을 절약하고 옵션을 향상시킬 수 있습니다.

5

데이터베이스에서 직접 속성 세트를 변경할 수도 있습니다.

  • 는 속성 변경 속성이이 방법으로 데이터를 변경하는 경우,주의 catalog_product_entity 물론

에 ID를 설정 테이블 eav_attribute_set

  • 에 ID를 설정 검색합니다.

  • +0

    이것의 영향은 무엇입니까? 예 : EAV 속성 테이블에서 ID를 변경해야하는지 여부 그것도 참조하는 varchar? –

    +0

    그것은 나를 위해 작동 보인다. –

    +0

    업데이트'catalog_product_entity' SET'attribute_set_id' = '9'WHERE'catalog_product_entity'.'entity_id' = 15,14; 이 코드의 오류는 무엇입니까? 단일 ID의 경우 작업 중 하나 이상을 추가 할 때 작동하지 않습니다. – Rathinam

    0

    예. 프로그래밍 방식으로 제품 속성 집합을 변경할 수 있습니다. 카탈로그 제품 격자에 massaction을 만들어 제품을 다중 선택하고 제품에 대한 massaction을 선택하는 것을 선호합니다. 변화를위한 컨트롤러 액션 만들기 grid.php

    $sets = Mage::getResourceModel('eav/entity_attribute_set_collection') 
           ->setEntityTypeFilter(Mage::getModel('catalog/product')->getResource()->getTypeId()) 
           ->load() 
           ->toOptionHash(); 
    
    $this->getMassactionBlock()->addItem('changeattributeset', array(
           'label'=> Mage::helper('catalog')->__('Change attribute set'), 
           'url' => $block->getUrl('*/*/changeattributeset', array('_current'=>true)), 
           'additional' => array(
            'visibility' => array(
             'name' => 'attribute_set', 
             'type' => 'select', 
             'class' => 'required-entry', 
             'label' => Mage::helper('catalog')->__('Attribute Set'), 
             'values' => $sets 
            ) 
           ) 
          )); 
    

    에서

    만들기 massaction 선택한 제품의 속성 세트를.

    public function changeattributesetAction() 
    { 
        $productIds = $this->getRequest()->getParam('product'); 
        $storeId = (int)$this->getRequest()->getParam('store', 0); 
        if (!is_array($productIds)) { 
         $this->_getSession()->addError($this->__('Please select product(s)')); 
        } else { 
         try { 
          foreach ($productIds as $productId) { 
           $product = Mage::getSingleton('catalog/product') 
             ->unsetData() 
             ->setStoreId($storeId) 
             ->load($productId) 
             ->setAttributeSetId($this->getRequest()->getParam('attribute_set')) 
             ->setIsMassupdate(true) 
             ->save(); 
          } 
          Mage::dispatchEvent('catalog_product_massupdate_after', array('products'=>$productIds)); 
          $this->_getSession()->addSuccess(
            $this->__('Total of %d record(s) were successfully updated', count($productIds)) 
           ); 
          } 
          catch (Exception $e) { 
           $this->_getSession()->addException($e, $e->getMessage()); 
          } 
        } 
        $this->_redirect('adminhtml/catalog_product/index/', array()); 
    } 
    
    관련 문제