zblog用户中心YtUser插件 zblog用户中心百搭模板 zblog用户中心插件
zblog用户中心YtUser插件 zblog用户中心百搭模板 zblog用户中心插件
两个版本打包,一个后台上传安装版+一个本地安装板
YtUser插件是目前为止zblog仅有几款会员中心插件中唯一的一款免费zblog会员中心插件(现在已经升级为收费插件),
通过YtUser插件可以轻松实现zblog php网站前台用户中心功能,其中包括前台注册登陆、QQ一键免注册登陆、
修改资料、投稿、文章收藏、积分充值、VIP充值、文章付费内容、文章购买等,且支持支付宝即时到帐接口,但是需开启“支付宝即时到帐接口”插件以及申请支付宝接口。
博客吧zblog php主题Seven对该插件进行了适配
1、下载插件YtUser.zip(经济条件较好的站长不妨去应用中心购买赞助开发者https://app.zblogcn.com/?id=1139)
2、解压压缩包,把解压出来的YtUser文件夹通过FTP上传至网站的zb_users/plugin/目录
3、登陆网站后台,在插件管理中启用“用户中心”插件
4、插件启用后,可以在后台——右上角——用户中心——插件说明中查看各页面对应的URL链接,当然这些页面需要进行适配后才能打开
适配教程
注意:以下的代码都是这些页面的核心代码,还需要自行根据自己的需要进行代码设计编写。
登陆模板
在主题template/目录下创建文件t_login.php,并在文件中添加以下代码:
1
2
3
4
5
6 | 登录{$user.Name}<input type="text" id="edtUserName" name="edtUserName" placeholder="Username"><input type="password" id="edtPassWord" name="edtPassWord" placeholder="Password"><input type="checkbox" id="chkRemember" name="chkRemember" >Remember me<button type="submit" id="loginbtnPost" name="loginbtnPost" onclick="return Ytuser_Login()">Login</button>使用快捷登录:<a href="{$host}zb_users/plugin/YtUser/login.php" class="">QQ登录</a> |
登陆模板
在主题template/目录下创建文件t_register.php,并在文件中添加以下代码:
1
2
3
4
5
6 | (*)名称:<input required="required" type="text" name="name">(*)密码:<input required="required" type="password" name="password">(*)确认密码:<input required="required" type="password" name="repassword">(*)验证码<input required="required" type="text" name="verifycode" >{$article.verifycode}<input type="submit" value="提交" onclick="return register()">一键注册:<a href="{$host}zb_users/plugin/YtUser/login.php" class="">QQ注册</a> |
用户中心
在主题template/目录下创建文件t_user.php,并在文件中添加以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | <input id="edtID" name="ID" type="hidden" value="{$user.ID}" /><input id="edtGuid" name="Guid" type="hidden" value="{$user.Guid}" />(*)账户:{$user.Name}{if (substr($user.Name,0,3) == 'yt_')}<a href="'.$zbp->host.'?Nameedit">修改账户名(仅一次机会)</a>{/if}用户级别:{if $user.Level < 4}VIP会员{else}普通会员{/if}<a href="{$host}?Upgrade">{if $user.Level < 4}续费{else}购买{/if}会员</a>到期时间:{$user.Vipendtime}用户积分:{$user.Price}<a href="{$zbp->host}?Integral">购买积分</a>用户名:<input required="required" type="text" id="edtAlias" name="Alias" value="{$user.StaticName}" />电话:<input required="required" type="text" id="meta_Tel" name="meta_Tel" value="{$user.Metas.Tel}" />会员地址:<input required="required" type="text" id="meta_Add" name="meta_Add" value="{$user.Metas.Add}" />邮箱:<input type="text" id="edtEmail" name="Email" value="{$user.Email}" />网站:<input type="text" id="edtHomePage" name="HomePage" value="{$user.HomePage}" />摘要:<textarea id="edtIntro" name="Intro" >{$user.Intro}</textarea>验证码:<input required="required" type="text" name="verifycode" />{$article.verifycode}<button onclick="return checkInfo();">确定</button>{$article.js} |
提示:其中电话和地址可以根据情况是否添加。到期时间这块,可根据情况设置普通会员是否显示。
此外如需额外添加新的字段,请认准格式:
1 | <input required="required" type="text" id="meta_新字段id" name="meta_新字段id" value="{$user.Metas.新字段id}" /> |
并添加以下JS
1 | "meta_新字段id":$("input[name='meta_新字段id]").val(), |
额外添加新的字段的时候请注意先删除上面的
然后添加一下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | <script type="text/javascript">function checkInfo(){$.post(bloghost+'zb_users/plugin/YtUser/cmd.php?act=MemberPst&token={$zbp->GetToken()}',
{
"ID":$("input[name='ID']").val(),
"Guid":$("input[name='Guid']").val(),
"Alias":$("input[name='Alias']").val(),
"meta_Tel":$("input[name='meta_Tel']").val(),
"meta_Add":$("input[name='meta_Add']").val(),
"Email":$("input[name='Email']").val(),
"HomePage":$("input[name='HomePage']").val(),
"Intro":$("textarea[name='Intro']").val(),
"verifycode":$("input[name='verifycode']").val(),
},
function(data){
var s =data;
if((s.search("faultCode")>0)&&(s.search("faultString")>0))
{
alert(s.match("<string>.+?</string>")[0].replace("<string>","").replace("</string>",""));
$("#reg_verfiycode").attr("src",bloghost+"zb_system/script/c_validcode.php?id=User&tm="+Math.random());
}
else{
var s =data;
alert(s);
window.location=bloghost+'?User';
}
});}</script> |
积分充值
在主题template/目录下创建文件t_integral.php,并在文件中添加以下代码:
1
2
3
4
5 | 用户积分:{$user.Price}充值介绍:{$zbp.Config('YtUser').integral_text}(*)充值卡:<input required="required" type="text" name="invitecode" />(*)验证码:<input required="required" type="text" name="verifycode" />{$article.verifycode}<input type="submit" value="提交" onclick="return Integral()"> |
VIP月充值
在主题template/目录下创建文件t_upgrade.php,并在文件中添加以下代码:
1
2
3
4
5
6
7
8 | 用户级别:{$lang['user_level_name'][$user.Level]}{if $user.Level < 5}到期时间:{$user.Vipendtime}{/if}页面介绍:{$zbp.Config('YtUser').readme_text}(*)充值卡:<input required="required" type="text" name="invitecode" />(*)验证码:<input required="required" type="text" name="verifycode" />{$article.verifycode}<input type="submit" value="提交" onclick="return RegPage()" /> |
提示:$user.Level < 5控制的是当会员级别不够的时候,不显示到期时间信息。
发表投稿
在主题template/目录下创建文件t_articleedt.php,并在文件中添加以下代码:
1
2
3
4
5 | <input type="hidden" name="token" id="token" value="{$zbp->GetToken()}" />标题:<input id="edtTitle" class="edit" name="Title" type="text">内容:{$article.UEditor}验证码:<input required="required" name="verifycode" type="text"> {$article.verifycode}<button onclick="return checkArticleInfo();">确定</button> |
提示:默认编辑器用的是UEditor的简化版。所以,插件目录里面需要有UEditor插件。
需要注意的是,本页面默认情况下,仅对协作者({$user.Level}小于5)的用户开放投稿功能。所以,最好在本页面设置下判断,当用户权限不足时,提示需要购买用户等级。参考代码:
1
2
3
4
5 | {if $user.Level<5}核心代码{else}权限不足提示代码。{/if} |
投稿列表
在主题template/目录下创建文件t_articlelist.php,并在文件中添加以下代码:
1
2
3 | {foreach $articles as $article}{$article.Time()}、{$article.Url}、{$article.Title}、{$article.Intro}、{$article.Author.StaticName}、{$article.Category.Name}、{$article.ViewNums}、{$article.CommNums}{/foreach} |
购买列表
在主题template/目录下创建文件t_paylist.php,并在文件中添加以下代码:
1
2
3
4
5
6
7 | {foreach $articles as $article}订单号:{$article.OrderID}</td>标题:<a href="{$article.Url}">{$article.Title}</a>下单时间:{$article.PostTime}付款状态{if $article.State}已支付{else}<a href="{$host}?buy&uid={$article.LogID}">未支付</a>{/if}{/foreach}{template:pagebar} |
支付状态
在主题template/目录下创建文件t_buy.php,并在文件中添加以下代码:
1
2
3
4
5
6
7
8
9
10
11 | <input type="hidden" name="LogID" id="LogID" value="{$article.BuyID}" /><input type="hidden" name="LogUrl" id="LogUrl" value="{$article.BuyTUrl}" />产品:{$article.BuyTitle}价格:{$article.BuyPrice}账户余额:{$user.Price}{if $article.buynum}已购买{else}(*)验证码:<input required="required" type="text" name="verifycode" />{$article.verifycode}<input type="submit" value="付款" onclick="return Ytbuypay()"/>{/if} |
提示:购买状态需用用{$article.buynum}进行判断。
评论列表
在主题template/目录下创建文件t_commentlist.php,并在文件中添加以下代码:
1
2
3
4
5
6
7 | {foreach $articles as $article}留言的文章:{$article.Title}留言的链接:{$article.Url}留言内容:{$article.Intro}留言发布时间:{$article.Time('Y年m月d日 h:i:s')}分页:{template:pagebar}{/foreach} |
密码找回
在主题template/目录下创建文件t_resetpwd.php,并在文件中添加以下代码:
1
2
3
4 | (*)用户名:<input required="required" type="text" name="name" />(*)邮箱:<input type="text" name="email" />验证码:<input required="required" type="text" name="verifycode"/>{$article.verifycode}<input type="submit" value="提交" onclick="return resetpwd()" /> |
提示:需开启“邮件发送”插件,没有添加邮箱账户的,不能使用密码找回功能。
密码重置
在主题template/目录下创建文件t_resetpassword.php,并在文件中添加以下代码:
1
2
3
4
5
6
7 | <input type="hidden" name="username" id="inpId" value="{$article.username}" /><input type="hidden" name="hash" id="inpId" value="{$article.hash}" />(*)名称:{$article.username}(*)重置密码:<input required="required" type="password" name="password" />(*)确认密码:<input required="required" type="password" name="repassword" />(*)验证码<input required="required" type="text" name="verifycode" />{$article.verifycode}<input type="submit" value="提交" onclick="return Resetpassword()" /> |
提示:本页面仅能通过邮箱提供的链接进来,切一小时内会失效。
修改密码
在主题template/目录下创建文件t_changepassword.php,并在文件中添加以下代码:
1
2
3
4
5
6
7
8
9 | <input type="hidden" name="token" id="token" value="{$zbp->GetToken()}" />(*)账户:{$user.Name}{if $user.Password != '0e681aa506fc191c5f2fa9be6abddd01'}(*)原密码:<input required="required" type="password" name="password" />{/if}(*)重置密码:<input required="required" type="password" name="newpassword" />(*)确认密码:input required="required" type="password" name="repassword" />(*)验证码<input required="required" type="text" name="verifycode" />{$article.verifycode}<input type="submit" value="提交" onclick="return Changepassword()" /> |
提示:第三方登录的用户第一次修改密码的时候不需要输入原密码;第三方登录的初始密码为二次加密,这个页面获取到的仅仅是第一道加密,所以不会造成用户密码泄露。
修改用户名
在主题template/目录下创建文件t_nameedit.php,并在文件中添加以下代码:
1
2
3
4
5
6 | <input type="hidden" name="token" id="token" value="{$zbp->GetToken()}" />(*)原账户:{$user.Name}(*)修改账户:<input required="required" type="text" name="name" />(*)确认账户:<input required="required" type="text" name="rename"/>(*)验证码<input required="required" type="text" name="verifycode" />{$article.verifycode}<input type="submit" value="提交" onclick="return Nameedit()" /> |
提示:本页面仅针对第三方登录的账户开放,且仅能修改一次账户名。
绑定QQ
在主题template/目录下创建文件t_binding.php,并在文件中添加以下代码:
1
2
3
4
5 | {if $article.BindingQQ}此账户已绑定过QQ{else}<a href="{$host}zb_users/plugin/YtUser/login.php" target="_blank">绑定QQ</a>{/if} |