magento简单的产品链接打开分组产品页面

时间:2009-12-30 13:33:17

标签: php magento product customer

无论如何,我可以编辑目录页面以链接一个简单的产品(它是分组产品的一部分)来打开分组产品页面吗? 任何帮助表示赞赏。

更清楚。在'abc'组中有三种产品a,b和c。因此,在产品列表中,当客户点击产品'a'时,它将被转发到(或打开),group(abc)页面。

1 个答案:

答案 0 :(得分:1)

让我们从一个警告开始:这很麻烦,但它确实有效!

这是在Magento 1.4.1下开发的,用于购物车中分组产品的简单产品。这样,当您单击简单产品时,它将转到父分组产品。

在template / checkout / cart / item / default.phtml中,替换:

<?php $_item = $this->getItem() ?>

with:

<?php
$_item = $this->getItem(); 
$read = Mage::getSingleton('core/resource')->getConnection('core_read');
$query = 'SELECT parent_id FROM ' . Mage::getSingleton('core/resource')->getTableName('catalog_product_relation') . ' WHERE child_id = ' . $_item->getProductId();
$parent_id = $read->fetchOne($query);
$_parentItem = Mage::getModel('catalog/product')->load($parent_id);
if ($_item->getProductType() == 'simple' && $_parentItem->getTypeId() == 'grouped') {
 $_itemUrl = $_parentItem->getProductUrl();  
}
else {
 $_itemUrl = $this->getProductUrl();
}
?>

然后几行后,替换:

    <h2 class="product-name">
    <?php if ($this->hasProductUrl()):?>
        <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->htmlEscape($this->getProductName()) ?></a>
    <?php else: ?>
        <?php echo $this->htmlEscape($this->getProductName()) ?>
    <?php endif; ?>
    </h2>

with:

    <h2 class="product-name">
    <?php if ($this->hasProductUrl()):?>
        <a href="<?php echo $_itemUrl ?>"><?php echo $this->htmlEscape($this->getProductName()) ?></a>
    <?php else: ?>
        <?php echo $this->htmlEscape($this->getProductName()) ?>
    <?php endif; ?>
    </h2>