效果如图
如果文章不存在图片。则显示默认的图片
如图
修改方法
1.找到include文件夹PowerEasy.Article.asp文件1467行开始的代码
将下列函数改成以下代码。
'=================================================
'函数名:GetPrevArticle
'作 用:显示上一篇文章
'参 数:TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
Private Function GetPrevArticle(TitleLen)
Dim rsPrev, sqlPrev, strPrev,picurl
strPrev = Replace(XmlText_Class("ShowArticle/PrevArticle_Link", "<li>上一{$ItemUnit}: "), "{$ItemUnit}", ChannelItemUnit & ChannelShortName)
sqlPrev = "Select Top 1 ArticleID,DefaultPicUrl,Title,Author,UpdateTime,Hits,InfoPurview,InfoPoint from PE_Article Where ChannelID=" & ChannelID & " and Deleted=" & PE_False & " and Status=3 and ReceiveType=0 and ClassID=" & rsArticle("ClassID") & " and ArticleID<" & rsArticle("ArticleID") & " order by ArticleID DESC"
Set rsPrev = Conn.Execute(sqlPrev)
If TitleLen < 0 Or TitleLen > 255 Then TitleLen = 50
If rsPrev.EOF Then
strPrev = strPrev & XmlText_Class("ShowArticle/NoPrevArticle", "没有了")
Else
If Instr(rsPrev("DefaultPicUrl"),".") then
picurl="/"&ChannelDir&"/"&UploadDir&"/"&rsPrev("DefaultPicUrl")
else
picurl=SiteUrl&"images/nopic.gif"
end if
strPrev = strPrev & "<br><a class='LinkPrevArticle' href='" & GetArticleUrl(ParentDir, ClassDir, rsPrev("UpdateTime"), rsPrev("ArticleID"), ClassPurview, rsPrev("InfoPurview"), rsPrev("InfoPoint")) & "'"
strPrev = strPrev & " title='" & Replace(Replace(Replace(Replace(strList_Title, "{$Title}", rsPrev("Title")), "{$Author}", rsPrev("Author")), "{$UpdateTime}", rsPrev("UpdateTime")), "{$br}", vbCrLf) & "'><img src='"&picurl&" 'border=0></a><br><a class='LinkPrevArticle' href='" & GetArticleUrl(ParentDir, ClassDir, rsPrev("UpdateTime"), rsPrev("ArticleID"), ClassPurview, rsPrev("InfoPurview"), rsPrev("InfoPoint")) & "'"
strPrev = strPrev & " title='" & Replace(Replace(Replace(Replace(strList_Title, "{$Title}", rsPrev("Title")), "{$Author}", rsPrev("Author")), "{$UpdateTime}", rsPrev("UpdateTime")), "{$br}", vbCrLf) & "'>" & GetSubStr(rsPrev("Title"), TitleLen, ShowSuspensionPoints) & "</a>"
End If
rsPrev.Close
Set rsPrev = Nothing
strPrev = strPrev & "</li>"
GetPrevArticle = strPrev
End Function
'=================================================
'函数名:GetNextArticle
'作 用:显示下一篇文章
'参 数:TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
Private Function GetNextArticle(TitleLen)
Dim rsNext, sqlNext, strNext,picurl
strNext = Replace(XmlText_Class("ShowArticle/NextArticle_Link", "<li>下一{$ItemUnit}: "), "{$ItemUnit}", ChannelItemUnit & ChannelShortName)
sqlNext = "Select Top 1 ArticleID,DefaultPicUrl,Title,Author,UpdateTime,Hits,InfoPurview,InfoPoint from PE_Article Where ChannelID=" & ChannelID & " and Deleted=" & PE_False & " and Status=3 and ReceiveType=0 and ClassID=" & rsArticle("ClassID") & " and ArticleID>" & rsArticle("ArticleID") & " order by ArticleID ASC"
Set rsNext = Conn.Execute(sqlNext)
If TitleLen < 0 Or TitleLen > 255 Then TitleLen = 50
If rsNext.EOF Then
strNext = strNext & XmlText_Class("ShowArticle/NoNextArticle", "没有了")
Else
If Instr(rsNext("DefaultPicUrl"),".") then
picurl="/"&ChannelDir&"/"&UploadDir&"/"&rsNext("DefaultPicUrl")
else
picurl=SiteUrl&"images/nopic.gif"
end if
strNext = strNext & "<br><a class='LinkNextArticle' href='" & GetArticleUrl(ParentDir, ClassDir, rsNext("UpdateTime"), rsNext("ArticleID"), ClassPurview, rsNext("InfoPurview"), rsNext("InfoPoint")) & "'"
strNext = strNext & " title='" & Replace(Replace(Replace(Replace(strList_Title, "{$Title}", rsNext("Title")), "{$Author}", rsNext("Author")), "{$UpdateTime}", rsNext("UpdateTime")), "{$br}", vbCrLf) & "'><img src='"& picurl&"'border=0></a><br><a class='LinkNextArticle' href='" & GetArticleUrl(ParentDir, ClassDir, rsNext("UpdateTime"), rsNext("ArticleID"), ClassPurview, rsNext("InfoPurview"), rsNext("InfoPoint")) & "'"
strNext = strNext & " title='" & Replace(Replace(Replace(Replace(strList_Title, "{$Title}", rsNext("Title")), "{$Author}", rsNext("Author")), "{$UpdateTime}", rsNext("UpdateTime")), "{$br}", vbCrLf) & "'>" & GetSubStr(rsNext("Title"), TitleLen, ShowSuspensionPoints) & "</a>"
End If
rsNext.Close
Set rsNext = Nothing
strNext = strNext & "</li>"
GetNextArticle = strNext
End Function
2.稍微改一下模板的调用代码,比如改成下列代码
<table>
<tr>
<td width=300>{$PrevArticle}</td>
<td width=300>{$NextArticle}</td>
</tr>
</table>