天兴工作室

主题演示站

zblogphp自带js框架评论接口大全

zblogphp从1.5版本就开始推出了自带的js前端框架:Z-BlogPHP JavaScript Framework;把一些前端常用的事件都封装了起来内置到zblogphp.js文件里面。

主题的js只需要简单的按照规定调用即可,大大的简化了流程和统一了标准。

分享以下官方git库里面的一些使用案例:

// 评论字段校验规则,要求提交的内容必须有一个test字段
zbp.options.comment.inputs.test = {
    required: true,
    getter: function () {
        return 'ZBPJF'
    },
    validator: function (text, callback) {
        if (text !== 'ZBPJF') {
            callback(new Error('No ZBPJF!'))
        } else {
            // null代表没问题
            callback(null)
        }
    }
}

// 挂接口

// 获取评论数据
zbp.plugin.on("comment.get", "ZBPJFExample", function (postId, page) {
    console.log('开始尝试评论数据')
})

// 得到评论数据
zbp.plugin.on("comment.got", "ZBPJFExample", function (formData, data, textStatus, jqXhr) {
    console.log('获得评论数据')
    console.log(data)
})

// 评论开始接口,只能对formData进行读取和修改
zbp.plugin.on("comment.post.start", "ZBPJFExample", function (formData) {
    console.log('开始评论!')
})

// 评论验证中接口
zbp.plugin.on("comment.post.validate", "ZBPJFExample", function (formData) {
    console.log('评论验证中!')
})

// 评论验证失败接口
zbp.plugin.on('comment.post.validate.error', 'ZBPJFExample', function (error, formData) {
    console.log('评论验证失败:' + error.code)
})

// 评论验证成功接口
zbp.plugin.on('comment.post.validate.success', 'ZBPJFExample', function (formData) {
    console.log('评论验证成功!')
})

// 评论发送成功接口
zbp.plugin.on('comment.post.success', 'ZBPJFExample', function (formData, data, textStatus, jqXhr) {
    console.log('评论发送成功!')
    console.log("系统返回数据:");
    console.log(data)
})

// 评论发送失败接口
zbp.plugin.on('comment.post.error', 'ZBPJFExample', function (error, formData, data, textStatus, jqXhr) {
    console.log('评论发送失败,错误:' + error.code)
    console.log(error)
})

// 评论发送结束接口
// 无论成功或失败,评论发送结束均会触发
zbp.plugin.on('comment.post.done', 'ZBPJFExample', function (error, formData, data, textStatus, jqXhr) {
    console.log('评论发送结束')
})

// 评论回复接口,可能在为老版本使用的主题中会无效
// 另外,通过zbp.plugin.unbind("comment.reply", "system-default")可以解绑系统的相关事件。
zbp.plugin.on("comment.reply.start", "ZBPJFExample", function (id) {
    console.log("回复评论ID:" + id);
});

// 取消评论回复接口,可能在为老版本使用的主题中会无效,若解绑了系统有关事件可能会无效。
// 可能需要主题配合
zbp.plugin.on("comment.reply.cancel", "ZBPJFExample", function (id) {
    console.log("取消回复评论");
});

有兴趣的可以直接在自己的代码里面测试,可玩性还是有的。

zblogphp挂接口往文章正文插入指定内容

如果你想批量在每篇文章正文的前面或者后面插入指定内容的话,可以按照本文教程操作。

ps:需要有一定的动手能力,另外进行前请务必把网站数据备份到本地以免发生意外。


第一:打开你所使用的主题或者插件里面的include.php文件,在“ActivePlugin”函数里面挂上这个接口:

Add_Filter_Plugin('Filter_Plugin_ViewPost_Template', '应用ID_Main');

第二:写一个自己的函数,如下:

function 应用ID_Main(&$template) {
    global $zbp;
    $article = $template->GetTags('article');
    $article->Content = '这里就是插入到每篇文章正文前面的内容'. $article->Content . '这里是插入到每篇文章正文后面的内容';
}

保存文件后,打开后台首页清空下缓存。然后打开一篇文章即可看到效果了。

2020年 zblog1.6版本终于上线了

三年又三年,zblogphp在2020年的3月26号终于推送了最新版本:Z-BlogPHP 1.6 Build 162090。

更新须知

如果你的站是正式的站点,请谨慎更新,正确的更新步骤是先将主题切换到默认主题,然后关掉除官方插件之外的所有插件;再按照以下步骤来操作!

ps:不推荐第一时间更新最新版,请等待你的主题和插件升级支持到最新版后在更新!

更新步骤:

后台--应用中心--系统更新与校验,就可以看到如下界面了:

QQ截图20200326212913.png

然后点击“升级新版程序”按钮就可以了。

如果你没有看到这个界面,请先点击“检查应用更新”,将“应用中心”这个插件更新到最新版,再重复上面的步骤即可。

新版更新了什么?

  1. 支持PHP 7.4
  2. 增加新默认主题 Zit和tprue
  3. 增加链接管理插件
  4. 侧栏数量增加至9个
  5. 允许从CDN获取访客IP
  6. 美化ZB后台和安装界面的样式

修改

  1. 文章发布,选择模板过滤不适用于文章的模板
  2. #98 PageBar 语言包化
  3. #240 设置固定域名时新增验证
  4. c_option.php增加了专属参数ZC_PERMANENT_DOMAIN_WHOLE_DISABLE可以强制关闭固定域名
  5. c_option.php增加了专属参数ZC_PERMANENT_DOMAIN_FORCED_URL可以强制指定域名
  6. #238 关闭网站时返回503状态码
  7. 修正一些安全问题
  8. 模块管理里现在只显示当前主题创建的模块,不再显示其它主题创建的模块

修复

  1. #243 修复author.Comments获取的用户评论为0的BUG
  2. #236 修复用户名小于3位无法安装的问题

开发类

新增
  1. Base类增加了SetData方法,增加了GetData类方法的参数
  2. #232 Base类添加LoadInfoByFields / LoadInfoByField接口
  3. Z-BlogPHP JavaScript Framework增强
  4. RemovePHPCode 函数,用于清除字符串里所有可能的PHP代码
  5. 增加 $zbp→langs 用于替代lang
  6. 应用中心打包时会读取 .zbignore 文件,允许打包时对某些文件进行忽略。
  7. 主题创建模块的Source一律要设置为theme_主题ID,以前有用plugin_主题ID需要改正
  8. sql类增加对decimal的支持
  9. $zbp新增设置互斥和查询互斥函数,最先应用于Zit主题和AdminColor插件上
接口
  1. #245 Filter_Plugin_ViewList_Template 增加退出信号
  2. 新增 SetPluginSignal设置信号函数
  3. 新增 Filter_Plugin_ViewPost_Core 接口
  4. 新增 Filter_Plugin_ViewSearch_Template 接口
  5. #206 新增 Filter_Plugin_CheckComment_Core 接口
  6. #206 新增 Filter_Plugin_CheckComment_Succeed 接口
  7. 新增 Filter_Plugin_EnablePlugin 接口
  8. 新增 Filter_Plugin_DisablePlugin 接口
  9. 新增 Filter_Plugin_Admin_Other_Action 接口
  10. #249 编辑器增加insert接口支持
数据库
  1. zbp_config表conf_Value长度扩大
  2. 对于系统内所有varchar字段全部扩大最大长度
  3. 新增tag_Type字段
  4. 新增cate_Type字段
修复
  1. 修复Network__curl不处理GET / POST以外的method的问题
  2. #224 修复批量操作评论时id为空时的错误

废弃

  1. 废弃TransferHTML函数,使用FormatString取代。(暂不需要修改)
  2. 废弃ZBPJF的旧有接口(请参照后续迁移说明)
  3. 去除HHVM支持


zblogphp调用文章总数、评论总数等的调用标签

想在zblog主题里面调用文章总数、页面总数等,zblog官方wiki是没有现成的标签的。本文就尽我所能大概来讲下(因为我自己也还没完全弄懂。。。)

zblog后台首页-网站信息里面是有所以的网站信息的,zblog模块管理里面的“站点信息”也有信息调用。翻看了这两处的源代码后,大概归类了下调用代码:

文章总数:{$zbp->cache->all_article_nums};

页面总数:{$zbp->cache->all_page_nums};

标签总数:{$zbp->cache->all_tags_nums};

浏览总数:{$zbp->cache->all_views_nums};

评论总数:{$zbp->cache->all_comments_nums};

还有一个分类总数:{$zbp->cache->all_categorys_nums};这个标签直接用是用不了的,需要更改zblogphp的核心文件,但是并不建议大家自行修改zblog的核心文件,天兴工作室已经跟zblog官方反映了此问题,期盼后期能在系统文件里面加上吧。

zblogphp评论设置标签探讨

今日有位用户向我们反映了一个问题,zblogphp后台网站设置--评论设置里面设置好了“每页输出评论数量”,但是前台模板显示的却不正常。

这个问题经排查是由于zblogphp升级到1.5后更改了函数名导致的一个小bug。

zblogphp1.5“每页输出评论数量“的调用标签为:{$zbp->Config('system')->ZC_COMMENTS_DISPLAY_COUNT};

天兴工作室制作的主题使用这个标签的方法为:

{if $article.CommNums>$zbp->Config('system')->ZC_COMMENTS_DISPLAY_COUNT}

其中“{$article.CommNums}”为调用文章评论数,上面代码的意思就是判断文章评论数大于后台设置的每页输出频率数量则显示评论的分页条,反之则不显示。

如果还有更好的方法请不吝赐教。

zblog1.5正式发布:Z-BlogPHP 1.5 Zero Released!

今天下午官网正式发布了zblogphp1.5版本,在各位准备升级这之前,请先注意:

1、务必备份网站后再进行更新,起码出错了还有个退路;

2、升级之后出错了也不要惊慌,不出意外的话一般是你当前正在使用的主题或者插件不兼容zblogphp1.5导致的;

3、还是那句老话,喜欢尝鲜的推荐升级折腾,网站数据多的请谨慎升级!!


官网发布内容如下:

非常高兴地告诉大家,时隔一年多,Z-BlogPHP 1.5终于发布了。

本次的版本代号为“Zero”,它的意思是化整为零、从0开始;承前启后,继往开来。


我们本次,针对一般用户而言,最主要的更新内容有这些:

滚动更新支持

为了与互联网更好地接轨,我们处理了版本号机制,梳理了系统流程。我们希望大家能尽快升级到最新版本的程序,享受最新的功能。当然,老版本的使用仍然不会受任何限制,我们不会设下任何束缚;我们也不会进行强制更新,或者出现烦人的提示。选择权仍然在你的手上。

增强对https与中文域名的支持

https是现在互联网发展的潮流,我们认为每个网站在有条件的情况下都应该打开它。支持说明见:https://blog.zblogcn.com/2016/10/13/84/。1.4版本的https支持对于某些特殊配置的网站存在一些问题,我们在此版本进行了修复。另外,这个版本也加强了对中文域名等的支持。

伪静态地址唯一化

曾经我们广受大家诟病的一点是,一篇文章或者分类可能有多个地址均能访问,可能造成内容的重复。在此我们也欣喜地告知大家,这一点现也已修正。

错误提示友好化

也许你很喜欢折腾,经常面对着满屏英文“乱码”无法自拔。在这个版本,我们对错误提示进行了友好化处理,预置一些可能的错误原因,并有在线Wiki可供查找,期望对大家有所帮助。


当然,我们也做了全局审核评论开关、升级了验证码、加强用户安全保护机制、处理了模板编译目录等。插件部分,Totoro的相似度检测功能、UEditor的新版代码高亮等,相信大家已经使用过了。我们衷心地希望,这些小的细节体验优化能给大家带来惊喜。


对于开发者而言,这个版本有一些更加令人惊喜的特性。列举一二:

侧栏模板化

现在,你可以自定义你的主题中日历等被系统写死的侧栏组件的样式了。详情可参考系统自带defend目录。

Z-BlogPHP JavaScript Framework支持

现在,不再拘泥于jQuery 1.8.3,系统自带1.8.3与2.2.4两个版本的jQuery,主题也可以自带任意版本的jQuery,想干就干吧。借由这个框架,我们在前端也引入了插件机制,意图处理混乱的前端js代码。

链式SQL调用库

我们新增了“链式SQL”,以替代原先反人类的SQL调用方式。新型书写方式简单自然,一气呵成,想必能直接避免总是不得不查参数的痛苦与调试失败的无奈。

错误页升级

错误页现也支持模板了,并且我们更引入了错误堆栈,调试更为方便。


详细的更新日志,见:https://wiki.zblogcn.com/doku.php?id=zblogphp:changelog

应用升级指南,见:https://wiki.zblogcn.com/doku.php?id=zblogphp:development:migration:1.4_-_1.5

1.5更新功能开发文档:https://wiki.zblogcn.com/doku.php?id=zblogphp:development:features:1.5



希望大家能喜欢全新的Z-BlogPHP 1.5版本,有任何问题可以直接到论坛发帖,也可遵循一定的规范到我们的GitHub上提交Issue或提交代码。

我们一直在这里,不离不弃。 :)


zblogphp判断用户是否登录

随着zblogphp越来越强大,用户对于各种个性化需求也说随之越来越多了。最近天兴工作室经常遇到用户要设置zblogphp会员中心的。

简单的会员中心怎么搭建?请参考:http://demo.txcstx.cn/post/922.html

今天本文要分享的是zblogphp在前台页面怎么判断用户登录了,如果登录了则显示用户名等等,如果用户没有登录则显示“欢迎注册 登录”按钮等。

ps:此教程属于进阶教程,如果你还不懂修改主题模板等基础知识的请先在本站搜索“主题修改”,学习基础知识后再来折腾这个。

代码如下:

{if $user.ID>0} <!--判断用户ID是否大于0(注册用户的id都会大于0...-->
欢迎你:{$zbp->user->StaticName}  <!--这里是用户登录后显示的内容-->
{else}
<a href="{$host}?reg ">注册</a> <!--这里是用户没有登录显示的内容-->
{/if}

如果还想折腾其他标签请参考官方wiki界面:https://wiki.zblogcn.com/doku.php?id=zblogphp:development:theme:template

zblogphp获取多个分类的文章并按照指定需求排序(最新 热门 热评)

此文转载自鸟儿博客,原文地址:http://www.birdol.com/zblogjiaocheng/792.html

由于這个方法太好用,而鸟儿写的又太过于简洁了。。。所以重新整理了下发出来,希望能帮助到有需要的朋友。

下面是一个封装好的函数,复制代码粘贴到你正在使用的主题的include.php里面:

function Nobird_GetArticleCategorys($Rows,$CategoryID,$hassubcate){
        global $zbp;
    $ids = strpos($CategoryID,',') !== false ? explode(',',$CategoryID) : array($CategoryID);
    $wherearray=array(); 
    foreach ($ids as $cateid){
      if (!$hassubcate) {
        $wherearray[]=array('log_CateID',$cateid); 
      }else{
                $wherearray[] = array('log_CateID', $cateid);
                foreach ($zbp->categorys[$cateid]->SubCategorys as $subcate) {
                    $wherearray[] = array('log_CateID', $subcate->ID);
                }
      }
    }
    $where=array( 
                    array('array',$wherearray), 
                    array('=','log_Status','0'), 
                    ); 
 
    $order = array('log_PostTime'=>'DESC'); 
    $articles=    $zbp->GetArticleList(array('*'),$where,$order,array($Rows),'');     
 
        return $articles;
}

使用方法:

{foreach $array=Nobird_GetArticleCategorys(10,'1,2,3',true)  as $related}
<li><a href="{$related.Url}" target="_blank">{$related.Title}</a></li>
{/foreach}

使用说明:

使用方法中第一行代码中的四个阿拉伯数字,10代表调用的文章数量,“1,2,3”代表所调用的栏目ID(多个ID之间用,号隔开即可)。

我们还可以修改函数中的“array('log_PostTime'=>'DESC');”其中:

log_PostTime=按照时间排序;

log_CommNums=按照评论数量排序;

log_ViewNums=按照浏览数量排序;

就这样完全可以根据自己的需要玩出不同的花样来!

ZBLOGPHP能用PHP7吗?

博主的ZBLOG用PHP7吗?速度如何?

zblogphp的坑:子分类的文章为什么不在父分类下显示?

这绝对是zblogphp的一个大坑,经常性的有人问:zblogphp子分类的文章为什么不在父分类下显示??今天在论坛又看到了一个“求助,后台分类管理设置了父子分类,帖子关联了子分类,在前台父分类下怎么不显示啊!”

这个问题,叫我从何说起呢.....

先说解决办法吧,超级简单啊超级简单,登录你的zblogphp后台--打开右上角的网站设置--点开页面设置--列出分类下所有子分类的文章的开关开启。诺,就是下图这样:

QQ截图20150615233306.png

点击提交,好了.....

无力吐槽的是为什么这个功能是默认关闭的,就这个咨询了zblog开发老大,回答是:“我也不知道为什么...”

说是下一个版本,也就是zblogphp1.5版本会修复这个坑了。

希望所有遇到这个问题的人都能看到这篇文章,然后满头黑线的解决掉这个问题。

<< 1 2 3 > >>
«    2025年6月    »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.4

天兴工作室主题演示站点,如遇到问题请联系我们的在线qq:207649916咨询