sspanel v3魔改版添加功能之——限购

限购功能和我之前写的限售功能很像,这里自我区分一下,以免混淆:“限购为限制同一用户购买数量;限售为限制同一套餐售卖数量”。举例:A套餐限购100件,即所有用户都可以买,卖出100件后限制购买;A套餐限售5件,即同一用户只能(累计)购买A套餐5件(次),购买第6件(次)时提供限制购买。当然你也可以将限购和限售两个功能结合起来,达到叠加作用,个人感觉可玩性强。

sspanel v3魔改版添加功能之——限售(库存为0自动下架)

[infobox]

sspanel版本:Anankke,其他版本可能不适用。

前提:修改文件前务必先备份!

要求:有一定的html/php基础,会折腾。

[/infobox]

基础

首先路径:根目录/app/Controllers,找到文件:UserController.php,此文件控制着用户的大部分行为/功能。使用Ctrl+F组合按键寻找“喵喵喵~ 当前余额不足”,这段代码处在if语句块内,我们在if语句后写入以下代码。为了更清楚理解什么叫在if语句后,下面我会贴出具体截图,不懂的请务必比照截图写!

$bought = new Bought();
$user_id = $user->id;
$shop_id = $shop->id;
$restrict_buy = $shop-> restrict_buy;
$num = $bought->where('userid', $user_id)->where('shopid', $shop_id)->count();
if ($restrict_buy > 0)
{
    if ($restrict_buy < $num)
    {
        $res['ret'] = 0;
        $res['msg'] = '本套餐限购'.$restrict_buy."件,您已达到限购上限,无法购买。";
        return $response->getBody()->write(json_encode($res));
    }
}

下面为截图

sspanel v3魔改版添加功能之——限购-懵比小站

使用CTRL+F组合按键寻找“$bought = new Bought();”,你会发现这行代码出现在了两个地方,其中一个是我们自己写的。找到并注释或删除不是我们写的那个,具体位置和做法看截图。这行代码可以不删除,但是为了严谨些我还是建议你这么做。

sspanel v3魔改版添加功能之——限购-懵比小站

现在我们使用phpmyadmin打开数据库,找到shop表,点击上方的“结构”,点击下方的“执行”。

sspanel v3魔改版添加功能之——限购-懵比小站

名字为:restrict_buy,其他不变,保存后点“浏览”。

sspanel v3魔改版添加功能之——限购-懵比小站

你要限购哪个套餐,就双击修改这个套餐的restrict_buy值,比如我这里设置套餐“IPLC专线 测试套餐”限购为2。(截图为5我知道)

sspanel v3魔改版添加功能之——限购-懵比小站

到这里就完成了所有步骤,相对而言还是简单的。测试一下:

sspanel v3魔改版添加功能之——限购-懵比小站

高级

本站特有的规矩,掌握了基础之后就要进阶高级了。因为限购功能简单,也玩不出什么花来(暂时),高级就完善一下功能更能贴合使用场景。鉴于这是高级,就不一步步截图了。

1、增加用户累计购买次数的提醒,以免用户被限购的莫名其妙。在if ($restrict_buy < $num)语句后,添加else语句

if ($restrict_buy < $num)
{
    $res['ret'] = 0;
    $res['msg'] = '本套餐限购'.$restrict_buy.'件,您已达到限购上限,无法购买。';
    return $response->getBody()->write(json_encode($res));
}else{
    $res['ret'] = 1;
    $res['msg'] = '本套餐限购'.$restrict_buy.'件,本次购买后您累计购买'.($num + 1).'件';
    return $response->getBody()->write(json_encode($res));
}

2、默认不允许限购0件,按照正常人的逻辑,限购0件就等于不允许购买,既然不允许购买了为什么不直接下架呢,就喜欢挂着让用户眼馋吗?如果你真的想要眼馋用户,也可以。修改if ($restrict_buy > 0)if ($restrict_buy >= 0),然后进入phpmyadmin,修改restrict_buy字段的默认值为-1。再把原来该字段的值是0的全都手动修改为-1,否则你的所有套餐都无法购买。

3、修改限购数量需要进入phpmyadmin手动修改restrict_buy的值,比较麻烦。你可以将修改限购数量功能放进后台“编辑商品”里,具体操作方法请参考限售教程——“中级”,因为这两者很像就不再啰嗦。推荐有一定php、html基础的同学尝试,无基础请勿尝试

说明

1、默认不允许限购0件,限购0件即为不允许购买,所以直接对套餐进行下架即可。如果你钟情限购0件,请参考“高级”篇教程。

2、应用场景:有人会一直购买针对新用户的特价套餐来变相“白漂”,限购能很好解决这一问题。

3、如有遗漏、错误之处,请不吝赐教,你的建议能够帮助学者少走弯路,感谢!

本文系作者 @ 原创发布在 懵比小站。未经许可,禁止转载。

喜欢()
评论 (1)
  • 站长 可以为这篇帖子重新上传一下图片吗?

    回复
热门搜索
homeagain
分享互联网最新资讯,分布各类教程:苹果cms、vps推荐、宝塔建站知识、edu邮箱、wordpress模板下载……只有你想不到,没有出不了的教程。
243 文章
192 评论
100 喜欢
Top