Magento- 그룹화 된 제품 테이블에 사용자 정의 속성 표시
-
05-07-2019 - |
문제
아래 이미지에 표시된 "제품 이름"대신 사용자 정의 속성 값을 표시하는 방법을 찾아야합니다.
(원천: magentocommerce.com)
/app/design/frontend/default/defaultx/template/catalog/product/view/type/grouped.php로 작업하고 있습니다
아래 코드는 작동하지 않습니다 (사용자 정의 속성은 매년입니다).
<?php if (count($_associatedProducts)): ?>
<?php foreach ($_associatedProducts as $_item): ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getYearmade()) ?></td>
모든 도움이 감사하겠습니다.
편집 : 답은 매우 간단한 것으로 판명되었습니다. 내가 위에서 언급하지 못한 것은 ~였다 실제로 출력 ...하지만 숫자 일뿐입니다 (예 : 52). 이것은 해당 사용자 정의 속성 값의 ID 인 것으로 밝혀졌습니다 (드롭 다운 유형의 사용자 정의 속성).
요약하면
이것은 유형 텍스트의 사용자 정의 속성에 대해 작동합니다.
echo $this->htmlEscape($_item->getYearmade())
그러나 다른 모든 유형의 사용자 정의 속성 (내 생각)의 경우 다음을 사용해야합니다.
echo $this->htmlEscape($_item->getAttributeText('yearmade'))
아래의 Alan Storm이 제공 한 가장 훌륭한 답변 없이는 이것을 발견하지 못했을 것입니다. 감사합니다.
해결책
모든 Magento 모델에는 "getData"방법을 사용하여 Key/Value 쌍의 PHP 배열을 반환합니다. Grouped.phtml 파일 상단에서 시도해보십시오 ($ _product가 정의 된 후).
print('<pre>');print_r($_product->getData());print('</pre>');
다음과 같은 것처럼 보이는 출력이 보일 것입니다.
Array
(
[store_id] => 1
[entity_id] => 3437
[entity_type_id] => 4
[attribute_set_id] => 27
[type_id] => grouped
[sku] =>
[category_ids] =>
[created_at] => 2009-04-16 03:37:51
...
따라서 다양한 속성을 잡고 키를 꺼낼 수 있습니다. Magento의 편의성/Magic GetX 및 SetX 메소드를 사용할 수도 있습니다. 모든 Magento 모델에서 이름의 Camel Case 버전을 기반으로 메소드를 호출하여 데이터 배열의 모든 속성에 액세스 할 수 있습니다.
$created_at = $_product->getCreatedAt();
$_product->setCreatedAt($date);
따라서 사용자 정의 속성 이름이 무엇이든 상관없이 위의 이름을 사용하여 얻을 수 있어야하며, 확실하지 않은 경우 getData ()에 의해 반환 된 배열의 내용을 확실하지 않은 경우.
마지막으로, 사용자 정의 속성이 관련 제품 중 하나에있는 경우 간단한 제품 중 하나라면 더 좋아하는 것을 원할 것입니다.
$_associatedProducts[0]->getCreatedAt();
다른 팁
나는 같은 문제가 있었다.
Grouped.phtml을 찾아야합니다
app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml
항목을 받으십시오
$_item[units]
테이블에 셀을 넣고 에코를 붙여 넣습니다
$_item['units'];
그게 다야 :)
Ver에서. 1.3. 그리고 1.4에서도 당신은 사용해야합니다 $ _item ~ 아니다 $ _product, 나에게 이것은 그룹 가능한 테이블에서도 잘 작동합니다.
예시:
<?php echo $_item->getAttributeText('your attribute'); ?>
솔루션을 쉽게 해결할 수있는 플러그인이 있습니다. 제품 옵션을 사용하여 그리드에 표시하는 플러그인을 찾을 수 있습니다. http://www.magemechanics.com/product-grid-options.html