商城购物,最近浏览过的商品的开发

本文详细介绍了如何记录用户浏览商品的历史,并实时更新商品的点击次数,通过使用Cookie存储和处理用户行为数据。

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

最近浏览过的商品

    public function actionView($id) {
        $model = $this->loadModel($id);

        /* 记录浏览历史 */

        if (isset(Yii::app()->request->cookies['history'])) {

            $history = explode(',', Yii::app()->request->cookies['history']->value);
            array_unshift($history, $id);
            $history = array_unique($history);

            while (count($history) > 5) {
                array_pop($history);
            }

            $cookie = new CHttpCookie('history', implode(',', $history));
            $cookie->expire = F::gmtime() + 3600 * 24 * 30;
            Yii::app()->request->cookies['history'] = $cookie;
        } else {
            $cookie = new CHttpCookie('history', $id);                     //value = $id;
            $cookie->expire = F::gmtime() + 3600 * 24 * 30;
            Yii::app()->request->cookies['history'] = $cookie;
        }

        /* 更新点击次数 */
        $model->click_count = $model->click_count + 1;
        $model->save();
        $this->render('view', array(
            'model' => $model,
        ));
    }

 

清除

public function actionClearHistory() {
        unset(Yii::app()->request->cookies['history']);
    }
	/*
	 * 暴力清除商品浏览历史记录!
	 */
	$("#clearRec").click(function(event) {
            alert(1);
	    $.ajax({
		url: "<?php echo Yii::app()->createUrl('/item/clearHistory') ?>",
		async: false
	    }),
	    $(".recent").html("").append("<div style='padding:20px'>没有商品浏览记录!</div>");
	});

 

view 

<ul>
    <?php
    if (isset(Yii::app()->request->cookies['history'])) {
        $ids = Yii::app()->request->cookies['history']->value;
        $item_ids = explode(',', $ids);
        foreach ($item_ids as $item_id) {

            $item = Item::model()->findByPk($item_id);
            ?>
            <li><div class="i-img"><?php echo $item->getRecentThumb() ?></div><div class="i-name"><?php echo $item->getTitle()  ?></div></li>
                    <?php
                }
            } else {
                echo '<div style="padding:20px">没有商品浏览记录!</div>';
            }
            ?>    

</ul>

  

  

转载于:https://www.cnblogs.com/fengzhiqiangcaisangzi/p/3458105.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值