2011-08-30 5 views
0

아래 사항은 모두 프론트 엔드가 아니라 마젠타의 백엔드에서 발생합니다.Magento 백엔드, 상점보기 속성 값을 가져올 수 없습니다.

모든 제품에 프로그래밍 방식으로 특성을 추가했습니다. 이러한 속성은 store_view에서 범위가 지정됩니다. 각 상점보기에 대해 이러한 특성을 프로그래밍 방식으로 업데이트했습니다. 지금까지 모든 것이 제대로 작동했습니다.

이제 이러한 속성에 대한 통계를 얻으려고합니다. 기본적으로 제품 컬렉션을 가져 와서 매장 ID 필터를 설정하고 내 속성을 가져옵니다.

문제 >> 그는 항상 기본값 (관리자 저장소보기)을 반환하고 store_view 값은 반환하지 않습니다.

 $products = Mage::getModel('catalog/product') 
         ->getCollection() 
         ->addAttributeToSelect('name') 
         ->addAttributeToSelect('myattribute') 
         ->addStoreFilter(5); 

     foreach($products as $product){ 
      echo $product->getData('name').' -> '.$product->getData('myattribute').'<br />'; 
     } 

이 항목은 myattribute 저장소보기 값이 아닌 제품의 저장소보기 이름을 에코합니다. 두 속성의 유일한 차이점은 "기본값 사용"이 백엔드의 name 속성에 대해 선택되어 있지 않고 백엔드의 저장소보기 값을 반환한다는 것입니다.

데이터베이스를 체크인했을 때 값은 myattribute의 저장소보기에 있습니다.

백엔드에서이 저장소보기 값을 얻으려는 아이디어가 있습니까? 또는 내 속성을 업데이트/생성 할 때 프로그래밍 방식으로이 확인란을 "기본값 사용"으로 사용하지 않도록 설정 하시겠습니까?

답변

0

마지막으로 해결책을 찾았습니다.

기본값을 사용하지 않으려면 store_id 0 (admin) 값을 지정해야합니다.

나는 단순히 원하는 store_id 값과 store_id 0 값을 저장하고 모든 것이 올바르게 작동했습니다. 이걸 원하면 다른 사람에게 유용 할 것입니다.

관련 문제