这几天给Zblog php的VIP主题,与用户中心皮肤都加入一些新的功能,VIP主题加入了下载按钮随意插入,用户中心皮肤加入了,登录可见功能,与评论可见功能。
今天把大至功能记录下来,方便有需要的小伙伴们查找。
下面以zblog文章部份内容登录可见为例,写一下教程!
前提条件
1、zblog php的最新版本
2、使用zblog自带的文章编辑器插件-UEditor编辑器 1.6
3、其它编辑器插件未适配,后期弄一个
新建自定义标签一键插入
挂zblog后台文章编辑页接口:
Add_Filter_Plugin('Filter_Plugin_Edit_Response3','demo1');
我这里挂的是三号接口,具体接口的位置,大家看参考zb_systemadminedit.php文件
加入插入按钮
接口挂好,我们需要向文章的编辑页面加入一个按钮,点击我们加入的按钮,就会在zblog后台编辑器内插入我们设置好的标签
代码:
function demo1(){
$Logins = '[Loginvisible]登录可见的内容[/Loginvisible]';
echo '<a style="cursor: pointer;" onclick="editor_api.editor.content.obj.execCommand('insertHtml',''.$Logins.'');">登录可见标签</a>';
}
上面的两个步骤已经可以实现,在zblog后台编辑器中随意的地方插入一个我们自定义好的标签,这里我们可以把zblog登录可见的内容放到这个标签里面,用这个[Logins]与[/Logins]两个标签把内容包裹起来。
处理输出的文章内容
挂处理文章页的接口
Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','demo2');
这里挂的文章页面处理接口,在文章内容输出的时候做一下处理
处理自定义标签
我们这里需要用的PHP的正则表达式,来匹配我们自定义的标签,进行删除或是替换
代码如下:
function demo2(&$template){
global $zbp;
$article = $template->GetTags('article');
$content = $article->Content;
$userid = $zbp->user->ID;
if($userid){
$content = preg_replace("/[(.*?)Loginvisible]/sm",'',$content);//登录状态下去掉自定义的标签
}else{
$content = preg_replace("/[Loginvisible](.*?)[/Loginvisible]/sm",'<div class="mochu-logins">未登录的提示内容</div>',$content);
//未登录状态下,把自定义标签连同标签包裹的内容替换成提示内容
}
$article->Content = $content;
$template->SetTags('article', $article);
}
最后,未登录时提示的内容进行一些调整就可以啦!
根据上面的实例,我们还可以实现zblog文章部份内容评论可见,或是部份内容购买可见等等一些操作!
本文链接:http://78moban.cn/post/8227.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!