本站隆重推出全新栏目“淘宝网购物导航“:实时更新淘宝的各类促销活动、成交排行、优惠充值等信息,让您网购更加安心,放心,省心!

静¢脉提供的拓展:相关日志功能 for pjblog 2.7(增加插件下载)

功能名称:相关日志功能
作者:静¢脉
来自:myhhe.cn
说明:根据标签Tag显示相关十条信息
大概看了一下以前WBC的(小议一下,WBC?让我想歪了,不好意思)
在SQL上确实过于太实在不怎么很科学
不知道懂ASP的友人发现没
他那个DO until i>Ubound(wbc_tag)就不得了啊
如果有十个Tag 就循环访问数据库十次
如果有50个Tag 。。。。。

再就是他是使用JS通过innerHTML 客户端写入到页面上的 对搜索的不太好
再再就是。。好像如果后台没有设置静态模式就不显示相关日志吧?

所以就不小心大概小小重写了一下下,主要特点就是只访问一次数据库,对于访问量稍大,或Tag稍多的用户应该在反应速度上有明显的提升,其次就是,静不静态模式都OK~

修改说明:
文件一:class\cls_article.asp
1.查找下面内容
TempArticle=Replace(TempArticle,"<$log_ViewNums$>",log_ViewArr(4,0))

在此内容下增加一行,复制以下代码
'****************  相关日志功能 修改1 BY HAYDEN    ****************
TempArticle=Replace(TempArticle,"<$log_relatedtag$>",getRelated(log_ViewArr(8,0),LogID))
'****************  相关日志功能 修改1 END    ****************

2.继续...查找
dim getTag

换行 在下面添加
'****************  相关日志功能 修改2 BY HAYDEN    ****************
Dim haydenTags : haydenTags = log_ViewArr(19,0)
'****************  相关日志功能 修改2    ****************

3.继续..查找
<img src="images/tag.gif" style="margin:4px 2px -4px 0px" alt=""/><strong>Tags:</strong> <%=getTag.filterHTML(log_ViewArr(19,0))%><br/>

换行 在下面添加
'****************  相关日志功能 修改3 BY HAYDEN    ****************
<img src="images/search.gif" style="margin:4px 2px -4px 0px" alt=""/><strong>相关日志:</strong><%=getRelated(haydenTags,LogID)%><br/>
'****************  相关日志功能 修改3 END    ****************

4.继续 滑到文件底部 在最后一个 %> 这个符号前加入下面这段代码
'*******************************************
'  显示相关日志
'  作者:静¢脉
'  出自:myhhe.cn
'  时间:2007.11.25
'*******************************************
Function getRelated(hayden_tag,hayden_LogID)
    getRelated=""
  Dim i,RsT,OutPut
    Dim hayden_arr_tag
    Dim hayden_sql
    Dim hayden_sqlTag : hayden_sqlTag=""
  OutPut=""
     if hayden_tag<>"" Then
            hayden_arr_tag=split(hayden_tag,"{")
            For i = 1 to Ubound(hayden_arr_tag)    
                If i > 1 Then hayden_sqlTag=hayden_sqlTag & " or "
                hayden_sqlTag = hayden_sqlTag & "log_tag like '%{" & hayden_arr_tag(i) & "%' "
            Next
                hayden_sql="Select top 10 log_Title,log_id,log_ViewNums from blog_Content where (" & hayden_sqlTag & ") and log_ID<>" & hayden_LogID & " and log_IsDraft=False and log_CateID not  in (select  cate_id from blog_Category where cate_secret=True ) order by log_PostTime desc"
'此处红色标记处,感谢 ppcode 提出指正 #2007-11-26  
                 Set RsT=conn.execute(hayden_sql)
                 if not RsT.eof then
                        Do until Rst.eof
                                OutPut=OutPut&"<font face='Wingdings'>n</font> <a href='article.asp?id="&RsT(1)&"' target='_blank'>"&RsT(0)&"["&RsT(2)&"]</a><br>"
                        Rst.movenext
                        Loop
                     End if
        End if
        If OutPut="" Then
            OutPut="无相关日志"
        Else
            OutPut="<div class='Content-body' id='hayden_tag'>"&Replace(OutPut,chr(39),chr(34))&"</div>"
            '注意上面DIV中的class名称,如果想给他设定单独的样式,可以在这里给他另定一个名称
        End If
        getRelated=OutPut
        Set rst=nothing
End Function
'****************  相关日志功能 getRelated END BY HAYDEN    ****************


如果你做完了上面这几步
OK 恭喜你!
还有三步,就可以给自己的博客加上一个相关日志的功能了


打开文件 : 根目录下的 article.asp

查找:
log_DisComment FROM

修改成:
log_DisComment,log_tag FROM

打开文件 : Template\Article.asp
查找:
<$log_tag$><br/>

换行 在下面添加:
<img src="images/search.gif" style="margin:4px 2px -4px 0px" alt=""/><strong>相关日志:</strong> <$log_relatedtag$><br/>

对了 去后台
重建数据缓存
重新统计网站数据
重新生成所有日志到文件
重新建立日志索引

如果需要插件的朋友可以直接下载这个文件,可后台安装
安装方便了,可是只可以显示在文章标题的上面 或 评论留言框的下面~
安装完可需要在模块管理中将getRelated 模块设为内容模块
否则可能不显示~

下载文件 点击下载此文件
评论: 0 | 引用: 0 | 查看次数: -


发表评论
昵 称:
密 码:    游客发言不需要密码.
邮 箱:    支持Gravatar头像
网 址:
验证码:    点击输入框
内 容:
您一共可以输入1000个字
选 项:
不想保留信息请删除cookie
发表评论后您发表的内容自动复制到了剪贴板
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭