船说 CMS 可以做会员付费阅读吗
学完这篇,你会搞清楚船说 CMS 到底能不能直接做会员付费阅读,以及在没有现成付费模块的情况下,怎么用最少的工作量把「试读 + 付费解锁全文」跑起来。
第一步:先确认你的版本有没有支付能力
这一步要做的是判断「能不能直接用」,结论是:船说 CMS 核心包自带会员注册、登录、会员组这几块,但付费阅读和在线支付通常不在默认安装包里,需要插件或二次开发。
登录后台,地址一般是 http://你的域名/admin.php,登录后看左侧菜单栏:
- 有「会员」→「会员组管理」「会员列表」,说明会员体系齐全,可以拿来做权限判断;
- 有「订单」或「支付」菜单,说明已经集成了支付,能省一大半事;
- 只有会员没有订单,就是最常见的状态——权限能做,钱收不了,得自己接支付。
页面底部或「系统」→「系统信息」里能看到版本号,记下来,找插件时按版本匹配。
注意:市面上不少「船说 CMS 建站版」是站长二次封装过的,菜单名字可能改成「用户中心」「VIP 管理」,判断标准不是名字,而是看有没有支付和订单相关的表或菜单。
第二步:定实现方案
三条路,按投入从低到高排:
- 站内余额制:用户在后台手动充值或线下转账,管理员在「会员列表」里改余额/升级会员组。不接支付接口,五分钟能上线,适合小站起步。
- 第三方付费工具:把文章正文换成第三方平台的付费卡片,钱走对方账户,你拿分成。省事但抽成高,且流量在别人手里。
- 自己接微信/支付宝:体验最好,但要营业执照、要开发。下面重点讲这条。
第三步:给内容加「付费」标记
进入「内容」→「内容模型」→ 选文章模型 →「字段管理」→「新增字段」,加两个字段:
- 字段名
is_pay,类型选「单选」或「开关」,选项为「免费 / 付费」; - 字段名
price,类型选「数字」,单位元,保留两位小数。
加完后去「内容管理」发布一篇测试文章,确认这两个字段能正常填写保存。数据库里对应会多出两个列。
第四步:改模板,控制正文显示
找到文章详情模板(一般在 /template/你的模板目录/ 下,文件名类似 show.html 或 article_detail.html),把原来直接输出正文的那行,改成条件判断:
{if $info.is_pay == 1}
{if $user && $user.vip_endtime > $now}
{$info.content}
{else}
{$info.intro} <!-- 试读部分 -->
<a href="/pay.php?id={$info.id}">付费阅读全文({$info.price}元)</a>
{/if}
{else}
{$info.content}
{/if}
核心逻辑就一句:免费文章照旧显示,付费文章先看会员身份,是有效会员才吐全文。
注意:判断条件一定要放在服务端模板里,不能只用 JS 隐藏。用 JS 隐藏的话,用户在浏览器按 F12 或者直接看接口返回就能拿到全文,等于没收钱。
第五步:接支付并记录订单
新建一张订单表,至少这几个字段:订单号、用户 ID、文章 ID、金额(用「分」存整数)、状态(0 待支付 / 1 已支付)、创建时间、支付时间。然后写支付回调:
- 微信支付需要微信支付商户号,个体工商户也能申请,回调地址填
https://你的域名/notify.php; - 支付平台回调过来时,先验签,再核对订单金额和订单号,一致才把状态改成 1;
- 用户点开文章时,先查订单表有没有「该用户 + 该文章」的已支付记录,有就直接放行。
注意:回调接口必须做幂等,也就是同一个订单号重复回调多次,结果只能是「已支付」,不能重复加会员天数或重复发货。
第六步:上线前测三件事
- 未登录、普通会员、付费会员三种身份各打开一次付费文章,看显示是否正确;
- 支付成功后立刻刷新页面,确认能秒解锁,不用等定时任务;
- 用微信支付沙箱或 1 分钱真实支付跑一遍全流程,重点看回调有没有正常收到。
小结
- 船说 CMS 自带会员体系,但不自带付费阅读,能不能做取决于你有没有订单/支付模块;
- 最小可行方案是「会员组权限 + 内容字段标记」,先跑通再考虑接支付;
- 权限判断必须写在服务端模板里,前端隐藏等于没做;
- 接微信/支付宝需要营业执照和商户号,回调要验签、要幂等;
- 订单表用「分」存金额,别用浮点数。
原文链接:https://www.gj0.com/thread-442.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。