2
我想在產品列表頁面中顯示產品組合產品和分組產品的選項。在產品列表頁面上顯示產品組合和分組產品選項
我在網上發現了一個腳本來顯示可配置的產品,但我正在努力尋找一個捆綁和分組。
基本上我希望它顯示的選項完全相同,就像我正在查看實際產品頁面一樣。
感謝
我想在產品列表頁面中顯示產品組合產品和分組產品的選項。在產品列表頁面上顯示產品組合和分組產品選項
我在網上發現了一個腳本來顯示可配置的產品,但我正在努力尋找一個捆綁和分組。
基本上我希望它顯示的選項完全相同,就像我正在查看實際產品頁面一樣。
感謝
嘗試用下面的代碼
1)把這三個以下功能在list.php的文件,如果你有覆蓋它,否則第一個覆蓋該文件法師/目錄/塊?產品/列表.PHP
protected function _getProduct($sku)
{
$_productId = Mage::getModel('catalog/product')->getIdBySku($sku);
if($_productId)
{
return Mage::getModel('catalog/product')->load($_productId);
}
return null;
}
public function getAssociatedProducts($sku)
{
$_product = $this->_getProduct($sku);
$simpleProducts = $_product->getTypeInstance(true)->getAssociatedProducts($_product);
return $simpleProducts;
}
/**
* Set preconfigured values to grouped associated products
*
* @return Mage_Catalog_Block_Product_View_Type_Grouped
*/
public function setPreconfiguredValue($sku) {
$_product = $this->_getProduct($sku);
$configValues = $_product->getPreconfiguredValues()->getSuperGroup();
if (is_array($configValues)) {
$associatedProducts = $this->getAssociatedProducts($sku);
foreach ($associatedProducts as $item) {
if (isset($configValues[$item->getId()])) {
$item->setQty($configValues[$item->getId()]);
}
}
}
return $this;
}
2)把下面的代碼在你的list.phtml文件設計/前端/預設/默認/模板/ catelog /產品/ list.phtml此行之後
<?php echo $this->getPriceHtml($_product, true) ?>
<?php if($_product->getTypeId() == 'grouped'){ ?>
<?php $this->setPreconfiguredValue($_product->getSku()); ?>
<?php $_associatedProducts = $this->getAssociatedProducts($_product->getSku()); ?>
<?php $_hasAssociatedProducts = count($_associatedProducts) > 0; ?>
<table class="data-table grouped-items-table" id="super-product-table">
<col />
<col />
<col width="1" />
<thead>
<tr>
<th><?php echo $this->__('Name') ?></th>
<?php if ($this->getCanShowProductPrice($_product)): ?>
<th class="a-right"><?php echo $this->__('Price') ?></th>
<?php endif; ?>
</tr>
</thead>
<tbody>
<?php if ($_hasAssociatedProducts): ?>
<?php foreach ($_associatedProducts as $_item): ?>
<?php $_finalPriceInclTax = $this->helper('tax')->getPrice($_item, $_item->getFinalPrice(), true) ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getName()) ?></td>
<?php if ($this->getCanShowProductPrice($_product)): ?>
<td class="a-right">
<?php if ($this->getCanShowProductPrice($_item)): ?>
<?php echo $this->getPriceHtml($_item, true) ?>
<?php endif; ?>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="<?php if ($_product->isSaleable()): ?>4<?php else : ?>3<?php endif; ?>"><?php echo $this->__('No options of this product are available.') ?></td>
</tr>
<?php endif; ?>
</tbody>
</table>
<script type="text/javascript">decorateTable('super-product-table')</script>
<?php } ?>
3)
可能對你有幫助! 注意:此代碼僅適用於分組產品
您是否找到了解決方案? – MatheusJardimB 2013-06-08 16:03:53