RuleUser通过API的方式完全接管typecho的用户系统,让Typecho网站拥有一个独立会员中心的同时,还可以将前台用户的操作全部API化。
具体演示请查看 Typecho独立用户中心上线-
RuleUser安装及介绍请查看 Typecho独立会员中心,前后端分离,充值付费功能集成,APP扫码登录
本文讲解会员系统接管typecho的教程(不接管也没事,看自己心情就好),这里我只写我网站Joe主题的修改,仅供参考,其他主题去看看不暇的教程 会员系统接管教程 。
2022.5.15更新接管版文件,可以直接替换主题文件完成接管
Joe主题RuleUser接管版文件-
方案有两种,第一种是php实现,第二种是js实现
- 方案一的好处是不会对模板进行大改,可以很方面的接管,而且完全按照php的标签规范,但是坏处是如果挂了cdn就会导致登录状态被缓存,就比如我自己网站的首页。而且性能的提升不如纯js前后端分离。
- 方案二的好处是完全js前后端分离,无论是用户交互还是网站性能都可以依靠js达到很高的提升,缺点就是需要有js的基础知识,对个人能力有要求,并且如果碰到复杂的模板,改起来也废时间。
我使用的是方案二 js前后端分离
,需要在typecho模板中引入RuleUser,只需要修改模板的footer.php文件,在的上方,加入如下代码(ruleuser是我前面步骤自定义的文件夹名称,代表RuleUser所在目录):
然后,在文章模板,post.php合适的位置(一般是文章内容底下,加入如下代码):
这样,就可以调用出文章插入的付费商品和操作按钮,截图如下:
会员的登录注册
1.在 themes/Joe/public/footer.php
文件最后添加以下代码
(注意修改ruleuser的文件目录)
2.修改/usr/themes/joezhinian/Joe-master/public/
下的 header.php
文件
第23行代码
修改为
第228行代码
user->hasLogin()) : ?>
user->screenName(); ?>
修改为
第308行代码
; ?>)
修改为
; ?>)
311行代码
options->JAside_Author_Nick ? $this->options->JAside_Author_Nick() : ($this->authorId ? $this->author->screenName() : $this->user->screenName()); ?>
修改为
options->JAside_Author_Nick ? $this->options->JAside_Author_Nick() : $this->author->screenName(); ?>
如果报错就把恋爱计时这个模块删掉,也就是删除以下315行以下代码:
options->LoveTime) : ?>
options->LoveTime;
if ($LoveTime_text) {
$leftQq = trim(explode("||", $LoveTime_text)[0]);
$RightQq = trim(explode("||", $LoveTime_text)[1]);
$loveDate = trim(explode("||", $LoveTime_text)[2]);
}
?>
最后418行代码
修改为
3.修改themes/Joe/public
下 comment.php
文件
第4行代码
$CommentCoid = @$_POST["coid"];
$db->query($db->update('table.comments')->rows(array('status' => @$_POST["type"]))->where('coid = ?', $CommentCoid));
修改为
$CommentCoid = $_POST["coid"];
$db->query($db->update('table.comments')->rows(array('status' => $_POST["type"]))->where('coid = ?', $CommentCoid));
第25行代码
此处评论已关闭