Magento : 그룹화 된 제품 내에서 제품에 대한 제품 URL을 얻습니다.

StackOverflow https://stackoverflow.com/questions/1949885

  •  21-09-2019
  •  | 
  •  

문제

그룹화 된 제품의 경우 구성된 간단한 제품에 대한 링크를 표시하고 싶습니다. 예를 들어, 접시, 나이프, 포크 등으로 구성된 식당 세트라는 그룹화 된 제품이있는 경우 각 하위 제품에 해당 하위 제품에 대한 링크가 있기를 바랍니다 (클릭 플레이트는 플레이트 용 간단한 제품으로 이동).

<?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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top