2013-02-25 1 views
1

Magento 1.5.0.1을 3 가지 저장소보기와 함께 설치했습니다. 두 점포는 제품 속성에 대한 기본값을 사용하지 않습니다. 나는 모든 제품이 모든 상점에 대해 기본값을 사용하도록하는 방법을 찾으려고 노력하고 있는데, 클라이언트가 한 곳에서만 물건을 업데이트하면된다. 나는 this 기사를 찾았지만 특별히 불리는 제품에만 적용되는 것처럼 보입니다. 누구든지 내 상황에서 그 코드를 어떻게 사용하는지 설명 할 수 있습니까? 아니면 새로운 코드를 제안합니까?모든 제품이 기본값 인 모든 저장소를 사용하도록 설정

+0

당신은 어떤 생각을 가지고있다. –

답변

6

유일한 방법은 MySQL을 통해이었다

DELETE FROM `catalog_product_entity_text` where store_id != 0; 
DELETE FROM `catalog_product_entity_datetime` where store_id != 0; 
DELETE FROM `catalog_product_entity_decimal` where store_id != 0; 
DELETE FROM `catalog_product_entity_int` where store_id != 0; 
DELETE FROM `catalog_product_entity_varchar` where store_id != 0; 

은 위의 모든 속성에 대한 기본값을 사용하는 모든 제품을 재설정합니다.

+0

그 덕분에 큰 사람 감사! –

0

행의 많은 제품을 업데이트하려면 Mage :: getSingleton ('catalog/product_action')을 사용해야합니다.

1 °

)는 모든 제품의 사용을 위해, 당신이 원하는 제품의 ID를 가져옵니다 :

$ids = Mage::getModel('catalog/product')->getCollection()->getAllIds(); 

2 °)이 속성의 목록을 확인하고 "거짓"값을 연결

$attributes = array('name'=>false,'description'=>false,....) 

3 °) 변경하려는 상점 ID 목록을 선택하고 배열로 설정하십시오.

$stores = array(1,2,3); 

그런 다음 스크립트를 만드십시오.

foreach ($stores as $store_id) 
{ 
    Mage::getSingleton('catalog/product_action')->updateAttributes($ids, $attributes, $store_id); 
} 

store_id에 속성을 기본값 ("false"값)으로 설정하도록 모든 제품 (ID)을 업데이트합니다. 나는 일이를 얻을 수

+0

좋아, 그래서 내 스크립트 파일을 만들었습니다 : http://pastebin.com/yc9BY8XC 및 내 magento 루트에 업로드, 실행 및 실행,하지만 오류가 있어요. 이 생각을 이해하도록 도와 주실 수 있습니까? –

+0

속성 하나만 사용해도 될까요? 가지고 계신 오류 메시지는 무엇입니까? – dagfr

+0

SSH 세션에서 실행하려고했는데 아무런 의미가없는 오류가 발생했습니다. 그런 다음 웹 브라우저를 사용하여 파일을 탐색했는데 프런트 엔드에 제품이 표시되지 않아 스크립트가 실행되는 것처럼 보였습니다. 스크립트가 모든 제품의 모든 필드를 지운 것으로 보이지만 "기본값 사용"상자는 확인하지 않았습니다. 어떤 아이디어? 내 전체 스크립트는 여기에있다 : http://pastebin.com/fpv6qxGi –

0

이 어떤 가게에 설정된 값을 모든 제품에 대한 기본 값으로 사람들을 병합합니다 : 항목이 다른 상점에 대해 생성 할 때

 <?php 
    $cat = mysql_connect("host", "user", "password") or die(mysql_error()); 
     mysql_select_db("database",$cat) or die(mysql_error()); 

     $types = array(
     'catalog_product_entity_text', 
     'catalog_product_entity_datetime', 
     'catalog_product_entity_decimal', 
    'catalog_product_entity_int', 
    'catalog_product_entity_varchar' 
    ); 

    foreach($types as $type){ 

    $result = mysql_query("select * from $type where store_id != 0",$cat) or die(mysql_error()); 

     while ($row = mysql_fetch_assoc($result)) { 

      if(!is_null($row['value'])){ 

       mysql_query("update $type set value = '".mysql_real_escape_string(stripslashes($row['value']))."' 
       where store_id = '0' 
       and entity_id = '".$row['entity_id']."' 
       and attribute_id = '".$row['attribute_id']."'",$cat) or die(mysql_error()); 
      } 

      mysql_query("delete from $type where value_id = '".$row['value_id']."'",$cat) or die(mysql_error()); 

     } 

    } 
?> 
관련 문제