magento随机关联同分类下upsell产品

本文详细解析了Magento中产品推荐模块的实现原理和技术细节。通过随机选取产品类别并过滤可见性,来展示相关产品,旨在为用户提供更多感兴趣的商品选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php //if(count($this->getItemCollection()->getItems())): ?>
<?php 
	$_product = $this->getProduct();
	$categories = $_product->getCategoryIds();
	
	
	$_currentCatId = $categories[array_rand($categories,1)];
	$_currentCategory = Mage::getModel('catalog/category')->load($_currentCatId);
	
	$visibility = array(
		Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
		Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
	);
	$products = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($_currentCategory)->addAttributeToSelect(array('name', 'price'), 'inner')-> addAttributeToFilter('visibility', $visibility);
	foreach ($products as $product) {
		$result[] = $product->getId();
	}
	if(count($result) >= 5){
		$ourneed = array_rand($result,5);
	}else{
		$ourneed = array_keys($result);
	}
?>
<div class="box-collateral box-up-sell">
    <h5 class="upsell-product-h5"><?php echo $this->__('You may also be interested in the following product(s)') ?></h5>
    <table class="mini-products-grid" id="upsell-product-table">
    <?php // $this->setColumnCount(5);  ?>
    <?php //$this->resetItemsIterator() ?>
    <?php //for($_i=0;$_i<$row;$_i++): ?>
        <tr>
        <?php
			foreach($ourneed as $cc):
			$_product = Mage::getModel('catalog/product')->load($result[$cc]);
		?>
            <td>
                <a href="<?php echo Mage::getBaseUrl('web').$_product->getUrlKey().'.html' ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(171) ?>" width="171" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a>
                <div class="moreinformation">
                    <h3 class="product-name"><a href="<?php echo Mage::getBaseUrl('web').$_product->getUrlKey().'.html' ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></h3>
                    <?php echo $this->getPriceHtml($_product, true, '-upsell') ?>
                </div>
            </td>
        <?php endforeach; ?>
        </tr>
    <?php //endfor; ?>
    </table>
    <script type="text/javascript">decorateTable('upsell-product-table')</script>
</div>
<?php //endif ?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值