2010-04-30 5 views
7

제품 사용자 정의 속성 표시에 문제가 있습니다. Google을 통해 모든 리소스를 읽었지만 여전히 성공하지 못했습니다. 문제는 구성 가능한 제품의 크기 특성을 범주 표 및 목록보기에 표시해야한다는 것입니다. 이 구글에 대한 모든 솔루션은Magento 및 구성 가능한 제품 속성

$_product->getAttributeText('size') 

같은 것을 제안하지만, 난 그냥 하나의 문자열에 결국 - "S"또는 "M"대신 배열. 번거로운 번거 로움없이 특정 구성 가능 제품에 속한 모든 단순 제품의 가능한 모든 크기를 가져올 수 있습니까?

UPDATE

조셉 Mastey에 의해 제안 된 솔루션을 사용한 후 나는 또 다른 문제가 발생했습니다. 주어진 속성에 대해 가능한 모든 옵션을 표시 할 수있게되었지만 이제 구매할 수있는 옵션 만 표시해야합니다. 예를 들어 티셔츠 크기 L이 재고가 없거나 비활성화 된 경우 L 옵션이 표시되지 않아야합니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

해결 방법을 찾을 수 있었습니까? 나는 똑같은 문제에 직면 해있다. – Luke

답변

18

구성 가능한 제품을 다룰 때 (또는 구성 가능한 속성으로 한 유형의 제품에만 대한 개념을 다룰 때) getTypeInstance으로 작업하게 될 것입니다. 아래에서 제품의 구성 가능한 속성을 파악한 다음 크기에 맞는 속성을 찾습니다. 원하는 경우 모든 구성 가능한 속성을 실행할 수도 있습니다. 또는 크기가 구성 가능한 유일한 속성 인 경우 if()을 건너 뜁니다.

$attrs = $_product->getTypeInstance(true)->getConfigurableAttributesAsArray($_product); 
foreach($attrs as $attr) { 
    if(0 == strcmp("size", $attr['attribute_code'])) { 
     $options = $attr['values']; 
     foreach($options as $option) { 
      print "{$option['store_label']}<br />"; 
     } 
    } 
} 

희망 하시겠습니까? 감사합니다.

+0

도움 주셔서 대단히 감사합니다. 간단한 문제가 하나 뿐이므로 $ _product 매개 변수로 getConfigurableAttributesAsArray를 호출해야했습니다. – artega

관련 문제