当前位置:首页 > zblog插件 > 正文

zblog插件 新·文章点赞开发版 30Blog

新·文章点赞开发版
  • 应用名称新·文章点赞开发版
  • 应用IDsan_praise_sdk
  • 应用作者30Blog
  • 系统要求Z-BlogPHP 1.4 Deeplue
  • PHP版本5.2及更高
应用推荐

应用介绍

修改自(sf_praise_sdk)插件;

该插件主要面向主题制作者,方便主题制作者快速生成点赞、支持、顶踩功能!

新增点赞加1特效

新增后台设置赞过提示

新增停用插件可选择是否删表

使用说明:

安装并启用该插件后,主题制作者无需编写php后台代码,在模板文件中插入指定标签即可。

一、文章页调用方法( 在post-single.php里使用)

{$san_praise_sdk.value1}输出第一个数值

{$san_praise_sdk.value5}输出第五个数值。

本插件最多支持5个数值。实现点击支持加1功能时,使用{$san_praise_sdk.value1},其他不用即可。实现顶踩功能,可以使用2个数值。

{$san_praise_sdk.check}输出是否已经投过票  0未投票/1已投过

二、列表页调用方法

首先加入{$san_praise_sdk=SAN_praise_sdk::findPostCount($article->ID);}

随后可以像文章页一样调用输出数值。例如在列表页文章处显示多少人顶多少人踩。

版本 1.1 更新说明

新增列表批量查询功能,减少了数据库查询次数。调用方式如下:

{php}

    // 获取所有文章ID

    $postIds = array_map(function($article) {

    return $article->ID;

    }, $articles);

    // 执行批量查询

    SAN_praise_sdk::findPostCountsBatch($postIds);

{/php}

在 foreach 列表循环之前,先批量获取文章的 ID。

{foreach $articles as $article}

    {if $article.IsTop}

    {template:post-istop}

    {else}

    {template:post-multi}

    {/if}

{/foreach}

原有的单篇文章点赞数查询代码无需修改,仍放在 istop 或 multi 文件中使用:

{$san_praise_sdk=SAN_praise_sdk::findPostCount($article->ID, true);}

批量查询时,确保调用 findPostCount 时添加 true 参数。

三、html标签

在需要投票的标签中加上class:san-praise-sdk  同时附上sfa='click' data-postid='文章id' data-value='第几个数值'  属性,此标签会自动捕获click事件,并提交一次投票!

回调函数(非必须):在标签上增加data-ok、data-check、data-error属性,属性值为函数名,回调时带入2个参数,第一个是文章id,第二个是第几个数值。

成功回调data-ok,已经投过票回调data-check,错误回调data-error。

更新数值方法:回写时会获取标签内html数据(整数),然后+1写入。回写标记为 class:san-praise-sdk   同时附上data-postid='文章ID' data-value='第几个数值' sfa='num' 属性。切记改标签内只能填写整数,不得有其他字符。

关于回调的其他说明,

成功调用后更新数值一定会执行,当然可以没有响应标签,js不会出错。如果有data-ok回调,会调用。

如果没有data-check回调,会调用默认的提示信息,如果想什么都不做,请设置一个空方法。

所有事件在整个网站都有效果,所以列表页也是可以点击投票的,如果不想有点击效果,去掉sfa='click' 即可。

四、示例

<div class="san-praise-sdk" sfa='click' data-postid='{$san_praise_sdk.postid}' data-value="1" data-ok='zijiqugemingzi'>

顶(<span class="san-praise-sdk" sfa='num' data-value='1' data-postid='{$san_praise_sdk.postid}'>{$san_praise_sdk.value1}</span>)

</div>

<div class="san-praise-sdk" sfa='click' data-postid='{$san_praise_sdk.postid}' data-value="2">

踩<span class="san-praise-sdk" sfa='num' data-value='2' data-postid='{$san_praise_sdk.postid}'>{$san_praise_sdk.value2}</span>)

</div>

data-ok回调函数示例

function zijiqugemingzi(postid,index){

    //你的代码

}