Destek hattında sorulmuştu bende yaptım. Localhost üzerinde test ettim ve çalışıyor. Örnek görünüşünü ekten görebilirsiniz. Yapmanız gereken işlemler:
SiteDizini/Modules/forums/fp_forums.asp dosyasını açın. 462. satırda
end function gibi bir kod göreceksiniz. Bu kodun aşağısına aşağıdaki vereceğim kodları ekleyin ve bu dosyayı kaydedin.
function f_topics_sonkonu()
if chkApp("forums","USERS") then
if not strForumStatus = "down" then
Set objRec = Server.CreateObject("ADODB.RecordSet")
Set objDict = CreateObject("Scripting.Dictionary")
strSQL = "SELECT m_code, m_value FROM " & strTablePrefix & "mods WHERE m_name = 'slash';"
set objRec = my_conn.Execute(strSQL)
while not objRec.EOF
objDict.Add objRec.Fields.Item("m_code").Value, objRec.Fields.Item("m_value").Value
objRec.moveNext
wend
slPosts = cint(objDict.Item("slPosts"))
slLength = cint(objDict.Item("slLength"))
slSort = cint(objDict.Item("slSort"))
slEncode = cint(objDict.Item("slEncode"))
strIMGInPosts = cint(objDict.Item("slImages"))
strIcons = 0
set objDict = nothing
strSQL = "SELECT TOP " & slPosts & " " & strTablePrefix & "TOPICS.TOPIC_ID, " & _
strTablePrefix & "TOPICS.T_SUBJECT, " & _
strTablePrefix & "TOPICS.T_AUTHOR, " & _
strTablePrefix & "TOPICS.T_LAST_POST_AUTHOR, " & _
strTablePrefix & "MEMBERS.M_NAME, " & _
strTablePrefix & "TOPICS.T_REPLIES, " & _
strTablePrefix & "TOPICS.T_DATE, " & _
strTablePrefix & "TOPICS.T_LAST_POST, " & _
strTablePrefix & "TOPICS.T_MESSAGE, " & _
strTablePrefix & "TOPICS.T_POLL " & _
"FROM " & strTablePrefix & "TOPICS, " & _
strTablePrefix & "FORUM, " & _
strMemberTablePrefix & "MEMBERS " & _
"WHERE " & strTablePrefix & "FORUM.F_PRIVATEFORUMS = 0 AND " & _
strTablePrefix & "TOPICS.FORUM_ID = " & strTablePrefix & "FORUM.FORUM_ID AND NOT " & _
strTablePrefix & "TOPICS.T_STATUS = 0 AND " & _
strTablePrefix & "TOPICS.T_AUTHOR = " & strMemberTablePrefix & "MEMBERS.MEMBER_ID "
Select Case slSort
Case "2" ' last post
strSQL = strSQL & "ORDER BY " & strTablePrefix & "TOPICS.T_LAST_POST DESC;"
DTString = "Son [slPosts] Konu"
Case "3" ' hot topics
strSQL = strSQL & "ORDER BY " & strTablePrefix & "TOPICS.T_REPLIES DESC;"
DTString = "En Sıcak [slPosts] Konu"
Case Else ' last created
strSQL = strSQL & "ORDER BY " & strTablePrefix & "TOPICS.TOPIC_ID DESC;"
DTString = "Son [slPosts] Konu"
End Select
DTString = Replace(DTString,"[slPosts]", slPosts)
DTString = Replace(DTString,"[ForumName]", strSiteTitle)
set objRec = my_Conn.Execute(strSql)
spThemeMM = "lstTopic_sm"
spThemeTitle= DTString
spThemeBlock1_open(intSkin)
response.Write("<table width=""100%"" cellpadding=""0"" cellspacing=""0"">")
response.Write("<tr><td width=""43%"" class=""tCellAlt2""><b>Konu</b></td><td width=""20%"" class=""tCellAlt2""><b>Gönderen</b></td><td width=""20%"" class=""tCellAlt2""><b>Yanıt</b></td><td width=""15%"" class=""tCellAlt2""><b>Tarih</b></td><td width=""2%"" class=""tCellAlt2""></td></tr>")
While NOT objRec.EOF
T_Subject = ChkString(objRec("T_SUBJECT"),"display")
T_Author = objRec("T_AUTHOR")
T_LastAuthor = objRec("T_LAST_POST_AUTHOR")
M_NAME = objRec("M_NAME")
T_Message = objRec("T_MESSAGE")
T_REPLIES = objRec("T_REPLIES")
T_DATE = objRec("T_DATE")
TOPIC_ID = objRec("TOPIC_ID")
T_LAST_POST = objRec("T_LAST_POST")
'if slEncode = 1 then
'T_Message = SlashCode(T_MESSAGE)
'else
T_Message = HTMLencode(T_MESSAGE)
'end if
T_Message = cleanlasttopic(T_Message)
T_Message = replace(T_Message, "/"," ", 1, -1, 1)
T_Message = replace(T_Message, "_"," ", 1, -1, 1)
T_Message = replace(T_Message, "*"," ", 1, -1, 1)
T_Message = replace(T_Message, "^"," ", 1, -1, 1)
T_Message = replace(T_Message, "-"," ", 1, -1, 1)
T_Message = replace(T_Message, "#"," ", 1, -1, 1)
T_Message = replace(T_Message, "%"," ", 1, -1, 1)
T_Message = chkBadWords(T_Message)
if instr(T_SUBJECT, " ") = 0 and Len(T_SUBJECT) > 18 then
T_SUBJECT = Left(T_SUBJECT, 15) & "..."
end if
If Len(T_Message) > CInt(slLength) Then
T_Message = Left(T_Message, slLength) & "..."
Else
T_Message = T_Message
End If
%>
<tr><td width="40%"><a href="link.asp?TOPIC_ID=<%= TOPIC_ID %>"><b><%= T_SUBJECT%></b></a><% if objRec("T_POLL") <> 0 then %> <img src="images/icons/icon_topic_poll.gif" alt="" /><% end if %></td>
<td width="20%"><%= M_NAME %></td>
<td width="20%"><%if T_REPLIES <> 0 then%><%=getMemberName(T_LastAuthor)%><%end if%></td>
<td width="15%"><%if T_REPLIES <> 0 then%><acronym title="<%= ChkDate(T_LAST_POST) %>/<%= ChkTime(T_LAST_POST) %>"><%= ChkDate(T_LAST_POST) %></acronym><%else%><acronym title="<%= ChkDate(T_LAST_POST) %>/<%= ChkTime(T_LAST_POST) %>"><%= ChkDate(T_LAST_POST) %></acronym><%end if%></td>
<td width="5%"><%= T_REPLIES %></td></tr>
<%
objRec.MoveNext()
Wend
%>
<%
response.Write("</table>")
spThemeBlock1_close(intSkin)
objRec.close
Set objRec = nothing
end if
end if
end function
Daha sonra Yönetim paneli / Modüller / Blok Yönetimi / Yeni Blok Ekle bölümüne gelin. Yeni blok ekleme formunu aşağıdaki gibi doldurun ve kaydedin.
Blok adı: Son Konular
Fonksiyon: f_topics_sonkonu()
Blok açıklaması: Forumdaki sorun konuları gösterir
Aktif: Evet
Sütun yeri: Ana
Daha sonra Yönetim paneli / Modüller / Blok Yönetimi / Ana Sayfa bölümüne gelin. Orta blok için olan yere seçim kutusundan Son Konular başlıklı seçimi seçin ve orta bloğa ekleyin. Ayarları kaydedin ve ana sayfanıza bakın bakalım forumdaki son konular gözüküyor mu?
Not: İşlemleri gerçekleştirmeden önce dosyalarınızın yedeğini alın.