2009-12-30 2 views
0

есть ли в любом случае я могу редактировать страницу каталога, чтобы сделать ссылку простого продукта (который является частью сгруппированного продукта), чтобы открыть страницу сгруппированных продуктов? любая помощь приветствуется.magento простая ссылка продукта на открытые сгруппированные продукты страница

Чтобы быть более понятным. Есть три продукта a, b и c, которые в группе «abc». Таким образом, в списке продуктов, когда клиент нажимает на продукт «a», он будет перенаправлен на страницу (или открыть), группу (abc).

ответ

1

Давайте начнем с предупреждения: это грязно, но это работает!

Это было разработано под Magento 1.4.1 для простых продуктов в составе сгруппированного продукта в корзине покупок. При этом, когда вы нажимаете простой продукт, он переходит к родительскому сгруппированному продукту.

В шаблон/Checkout/корзина/пункт/default.phtml заменить:

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

с:

<?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> 

с:

<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>