Magento : 그룹화 된 제품 내에서 제품에 대한 제품 URL을 얻습니다.
문제
그룹화 된 제품의 경우 구성된 간단한 제품에 대한 링크를 표시하고 싶습니다. 예를 들어, 접시, 나이프, 포크 등으로 구성된 식당 세트라는 그룹화 된 제품이있는 경우 각 하위 제품에 해당 하위 제품에 대한 링크가 있기를 바랍니다 (클릭 플레이트는 플레이트 용 간단한 제품으로 이동).
<?php foreach ($_associatedProducts as $_item): ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getName()) ?></td>
<td class="a-right">
<?php echo $this->getPriceHtml($_item, true) ?>
</td>
<?php if ($_product->isSaleable()): ?>
<td class="a-center">
<?php if ($_item->isSaleable()) : ?>
<a href="<?php $_item->getProductUrl() ?>">View</a>
<?php else: ?>
<p class="availability"><span class="out-of-stock"><?php echo $this->__('Out of stock.') ?></span></p>
<?php endif; ?>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
이것은 그룹화 된.phtml 파일의 코드 스 니펫입니다.
app/design/frontend/blank/default/template/catalog/product/view/type/grouped.phtml
특히 라인 $_item->getProductUrl()
, 이것은 작동하지 않으며이 관련 제품 항목의 URL을 얻는 데 필요한 코드를 모릅니다. 누군가가 여기서 도울 수 있다면 대단히 감사 할 것입니다.
또한 지구상에서 제품이나 카테고리에 사용할 수있는 방법 (및 사용 방법)을 찾을 수있는 곳 또는 $_item
그리고 좋아요?
해결책
모든 방법과 기능을 쉽게 찾을 수 있습니다. 항상 코어로 추적하십시오 /app/code/core/Mage/Catalog/Model/Product.php
또는 해당 폴더의 다른 파일 중 하나입니다.
당신의 코드는 완벽합니다. 그냥 사용하십시오
$_item->getUrlPath() ;
대신에 productURL
.
다른 팁
사용 가능한 방법 / 데이터를 얻는 것에 대한 몇 가지 메모 :
먼저, 모든 방법을 실제로 클래스에 코딩하도록하려면 다음과 같이 사용 가능한 모든 방법을 얻을 수 있습니다.
$array = get_class_methods($_item); //yields an array of the methods in the class
var_dump($array); // to see the methods
모든 데이터 관련 방법을 얻으려면 먼저 클래스의 데이터 구성원을 찾으십시오. 이것은 Magento의 대부분의 객체와 함께 작동합니다.
$data = $_item->getData(); // $key => $value array
그런 다음 두 가지 방법을 원하는 데이터를 얻을 수 있습니다.
// assuming I want 'my_data'
$data = $_item->getMyData();
$data = $_item->getData('my_data');
<?php echo $this->htmlEscape($_item->getProductUrl()) ?>
또는 여기에 전체가 있습니다.
<a href="<?php echo $this->htmlEscape($_item->getProductUrl()) ?>">
<?php echo $this->htmlEscape($_item->getName()) ?>
</a>