sspanel v3魔改版添加功能之——限购
sspanel v3魔改版添加功能之——限购
home again限购 功能和我之前写的限售功能很像,这里自我区分一下,以免混淆:“限购为限制同一用户购买数量;限售为限制同一套餐售卖数量”。举例:A套餐限购100件,即所有用户都可以买,卖出100件后限制购买;A套餐限售5件,即同一用户只能(累计)购买A套餐5件(次),购买第6件(次)时提供限制购买。当然你也可以将限购和限售两个功能结合起来,达到叠加作用,个人感觉可玩性强。
- sspanel版本:Anankke,其他版本可能不适用。
- 修改文件前务必先备份!
- 有一定的html/php基础,会折腾。
基础
首先路径:根目录/app/Controllers,找到文件:UserController.php,此文件控制着用户的大部分行为/功能。使用Ctrl+F组合按键寻找“喵喵喵~ 当前余额不足”,这段代码处在if语句块内,我们在if语句后写入以下代码。为了更清楚理解什么叫在if语句后,下面我会贴出具体截图,不懂的请务必比照截图写!
$bought = new Bought(); |
使用CTRL+F组合按键寻找 $bought = new Bought();
,你会发现这行代码出现在了两个地方,其中一个是我们自己写的。找到并注释或删除不是我们写的那个,具体位置和做法看截图。这行代码可以不删除,但是为了严谨些我还是建议你这么做。
现在我们使用phpmyadmin打开数据库,找到shop表,点击上方的“结构”,点击下方的“执行”。名字为:restrict_buy,其他不变,保存后点“浏览”。
你要限购哪个套餐,就双击修改这个套餐的restrict_buy值,比如我这里设置套餐“IPLC专线 测试套餐”限购为2。
高级
本站特有的规矩,掌握了基础之后就要进阶高级了。因为限购功能简单,也玩不出什么花来(暂时),高级就完善一下功能更能贴合使用场景。鉴于这是高级,就不一步步截图了。
1、增加用户累计购买次数的提醒,以免用户被限购的莫名其妙。在 if ($restrict_buy < $num) 语句后,添加else语句
if ($restrict_buy < $num) |
2、默认不允许限购0件,按照正常人的逻辑,限购0件就等于不允许购买,既然不允许购买了为什么不直接下架呢,就喜欢挂着让用户眼馋吗?如果你真的想要眼馋用户,也可以。修改:if ($restrict_buy > 0)
为:if ($restrict_buy >= 0)
,然后进入phpmyadmin,修改 restrict_buy 字段的默认值为-1。再把原来该字段的值是0的全都手动修改为-1,否则你的所有套餐都无法购买。
3、修改限购数量需要进入phpmyadmin手动修改 restrict_buy 的值,比较麻烦。你可以将修改限购数量功能放进后台“编辑商品”里,具体操作方法请参考:限售教程,因为这两者很像就不再啰嗦。
推荐有一定php、html基础的同学尝试,无基础请勿尝试!!!
说明
- 默认不允许限购0件,限购0件即为不允许购买,所以直接对套餐进行下架即可。如果你钟情限购0件,请参考“高级”篇教程。
- 应用场景:有人会一直购买针对新用户的特价套餐来变相“白漂”,限购能很好解决这一问题。
- 如有遗漏、错误之处,请不吝赐教,你的建议能够帮助学者少走弯路,感谢!