設為首頁收藏本站

 取回密碼
 註冊
搜尋
熱搜: Redump discuz
檢視: 607|回覆: 0

【轉貼】 Discuz!程序文件詳解 修改dz模板源文件從此不用再求人

[複製連結]
發表於 2021年2月6日 00:36:59 | 顯示全部內容 |閱讀模式
在upload目錄裡面的文件,先從根目錄開始,根目錄文件一般都是入口,即執行具體功能的代碼一般不在這些文件中,而是在其調用的文件中。
admin.php 系統站點管理入口文件
api.php Discuz!合作應用入口文件(例如漫遊、支付寶什麼的都走這裡)
connect.php QQ互聯入口文件
cp.php 應用入口文件
crossdomain.xml 數據交互文件,如果在裡面定義其它站點的地址,那麼這兩個不同站點就可以交互數據
favicon.ico 圖標文件,顯示在瀏覽器的標題欄
forum.php 論壇入口文件
group.php 群組入口文件
home.php 家園入口文件
index.php 功能與portal.php基本相同
member.php 用戶信息入口文件
misc.php 網站用戶常用操作入口文件,例如像評分、收藏等功能都是走這個文件的
plugin.php 插件入口文件
portal.php 門戶入口文件
robots.txt  在這個文件中加上具體的地址,可以防止被搜索蜘蛛檢索到
search.php 搜索功能入口程序
userapp.php 用戶應用入口程序

API目錄中的文件主要是和Discuz!進行合作的商家的應用程序,一般不要也無需修改,這裡不多說明。想瞭解的可以單獨問我,這個目錄的大部分文件現在都解密了。

archiver目錄中只有一個index.php,就是經常說的無圖版程序的入口,這個一般不是給人看的,是給機器人看的。

config目錄中有兩個文件,config_global_default.php是你在安裝論壇的時候就要修改的配置文件,另一個config_ucenter_default.php是自動生成的,一般不能手動修改內容,否則會導致出錯。

data目錄下的文件通常是動態緩存文件,這些文件裡面都帶有可以被調用的常量,當然附件、頭像等等也是在這裡保存的,這個不多說明,實際功能打開看就知道了。

install是安裝程序的目錄,裡面文件的含義沒有太多解釋的意義了,這裡省略。

uc_client和uc_server目錄中的文件關係到UCentre的運行,一般裡面的內容不推薦修改,同理省略。

static目錄中的文件全部屬於靜態文件,例如像圖片、預覽什麼的,這裡我只對下面js目錄中的文件進行說明
Discuz!中許多的Ajax效果都是這個文件中的代碼來實現的,會Javascript的可以嘗試去改下,後面我生效的位置進行說明
admincp.js 站點管理
bbcode.js Discuz!代碼效果實現
calendar.js 日曆
common.js 系統全局
common_diy.js 首頁DIY效果
common_extra.js 功能基本同common.js
editor.js 編輯器效果
forum.js 論壇效果
forum_moderate.js 論壇管理
forum_post.js 論壇發帖
forum_slide.js 論壇邊欄
forum_viewthread.js 論壇主題瀏覽
google.js google搜索
home.js 家園
home_blog.js 家園日誌
home_drag.js 家園,表格拖動
home_friendselector.js 家園好友選擇
home_uploadpic.js 家園圖片上傳
logging.js 登錄
md5.js MD5加密
portal.js 首頁
portal_diy.js 首頁DIY
portal_upload.js 首頁上傳
register.js 註冊頁面
seditor.js 編輯器效果
smilies.js 表情
space_diy.js 個人空間DIY
threadsort.js 主題排序
tree.js 樹形列表
userapp_swfobject.js FLASH批量上傳

接著回到根目錄,這裡我對templates/default目錄中的模板文件的功能做下解釋
其中userapp和style裡面的模板分別對應著應用和家園風格,mobile目錄的模板對應的是3G手機版,search目錄裡面是搜索頁面模板,ranklist對應的是排行榜模板,tag目錄中的是標籤,group裡面的是群組模板,home中的是家園模板,portal裡面的是文章首頁模板,這些對插件作者來說一般用不上,這裡就不多敘述了。
只說下面的目錄,後面對文件被調用的場合進行說明
default/member 下面有四個文件
getpasswd.htm 密碼取回
login.htm 用戶登錄
login_simple.htm 同上,但是功能簡單點
register.htm 用戶註冊

default/common 下面的css我不做解釋,因為對做插件的人來說基本用不上,有興趣的請自行請教模板風格作者,同樣對使用的場合進行說明
block_forumtree.htm 論壇樹形列表模塊
block_thread.htm 主題模塊
block_userinfo.htm 用戶信息模塊
buyinvitecode.htm 邀請碼購買
css_sample.htm CSS樣例
editor.htm 編輯器
editor_menu.htm 編輯器菜單按鈕
extcredits.htm 拓展積分列舉
faq.htm 使用幫助
footer.htm 站點底部文件,一般的模板文件都要調用這個模板以正常顯示底部信息
footer_ajax.htm 同上
header.htm 頭部文件,一般的模板文件都要調用這個文件以正常顯示頭部信息
header_ajax.htm 同上
header_common.htm 同上
header_diy.htm 同上
invite.htm 邀請註冊
preview.htm 也來
pubsearchform.htm 搜索
report.htm 報告
seccheck.htm 驗證碼檢查
seditor.htm 編輯器
sendmail.htm 郵件發送頁
showmessage.htm 提示信息頁面,在PHP程序中使用showmessage函數出來信息使用的模板就是這個
simplesearchform.htm 搜索
stat.htm 站點統計
userabout 用戶應用信息

default/forum 一般論壇裡面的PHP程序所調用的模板文件都是在這裡(小提示,一般htm對應的php文件文件名都是有類似字符的,很好認的)
activity_applist_more.htm 應用列表
activity_applylist.htm 應用列表
activity_export.htm 導出
ajax_albumlist.htm 相冊列表
ajax_attachlist.htm 附件列表
ajax_imagelist.htm 圖片列表
ajax_secondgroup.htm 拓展用戶組
ajax_threadlist.htm 主題列表
announcement.htm 公告
attachpay.htm 附件收費
attachpay_view.htm 收費附件付費記錄瀏覽
comment.htm 點評
comment_more.htm 同上
debate_umpire.htm 辯論
discuz.htm 論壇首頁
discuzcode.htm Discuz!代碼
editor_ajax.htm 編輯器
editor_menu_forum.htm 論壇菜單
forumdisplay.htm 主題列表瀏覽
forumdisplay_fastpost.htm 快速回復框架
forumdisplay_leftside.htm 主題列表瀏覽邊欄
forumdisplay_list.htm 主題列表
forumdisplay_passwd.htm 論壇密碼輸入頁面
forumdisplay_subforum.htm 二級論壇框架
index.htm 空文件,作用是防止列目錄
index_navbar.htm 頭部導航欄
modcp.htm 版主管理後台
modcp_announcement.htm 版主管理後台公告發佈
modcp_forum.htm 版主管理後台論壇管理
modcp_forumaccess.htm 版主管理後台論壇權限設置
modcp_home.htm 版主管理後台主頁
modcp_log.htm 版主管理後台記錄查看
modcp_login.htm 版主管理後台登錄頁
modcp_member.htm 版主管理後台用戶管理
modcp_moderate.htm 版主管理後台主題批量管理
modcp_moderate_float.htm 版主管理後台主題管理浮動窗口
modcp_post.htm 版主管理後台帖子管理
modcp_recyclebin.htm 版主管理後台回收站
modcp_recyclebinpost.htm 版主管理後台回收站帖子瀏覽頁
modcp_report.htm 版主管理後台用戶報告管理
modcp_thread.htm 版主管理後台主題管理
pay.htm 收費主題
pay_view.htm 收費主題付費記錄查看
post.htm 跟發帖有關的模板,這個是全局模板
post_activity.htm 發表活動主題
post_attachlimit.htm 附件限制信息頁面
post_debate.htm 發表辯論主義
post_editor_attribute.htm 編輯器
post_editor_body.htm 編輯器主題
post_editor_extra.htm 編輯器附件功能
post_editor_option.htm 編輯器
post_forumselect.htm 發帖時論壇列表選擇
post_infloat.htm 浮動發帖頁面
post_poll.htm 投票主題發佈頁面  
post_reward.htm 發表懸賞主題
post_sortoption.htm 排序選項
post_trade.htm 發表商品主題
postappend.htm 以往帖子列表瀏覽
rate.htm 用戶評分
rate_view.htm 評分記錄
recommend.htm 主題推薦
relatekw.htm 標籤生成頁
search_sortoption.htm 搜索
stat_main.htm 站點統計首頁
stat_memberlist.htm 站點統計,用戶統計
stat_misc.htm 站點統計,例如像競價、主題等等的統計
stat_onlinetime.htm 站點統計,在線時間統計
stat_team.htm 站點統計,管理團隊
stat_trade.htm 站點統計,交易統計
tag.htm 標籤
topicadmin.htm 全局模板,配合下面的使用
topicadmin_action.htm 瀏覽主題時選擇主題管理操作的下拉列表項目
topicadmin_getip.htm 帖子IP查看頁
topicadmin_modlayer.htm 管理主題時候,懸浮的帶有置頂、移動、精華等常用操作的小浮窗
trade.htm 商品主題全局模板
trade_displayorder.htm 商品主題基本信息
trade_info.htm 商品信息瀏覽
trade_view.htm 商品交易記錄瀏覽
upload.htm 附件上傳
viewthread.htm 瀏覽的主題時調用的全局模板
viewthread_activity.htm 瀏覽活動主題
viewthread_debate.htm 瀏覽辯論主題
viewthread_fastpost.htm 瀏覽主題時快速發帖的框子
viewthread_from_node.htm 同viewthread_node.htm
viewthread_mod.htm 瀏覽主題時的管理項
viewthread_node.htm 瀏覽主題的時候顯示的用戶信息
viewthread_node_body.htm 同上
viewthread_pay.htm 瀏覽付費主題
viewthread_poll.htm 瀏覽投票主題
viewthread_poll_voter.htm 瀏覽投票主題的選項
viewthread_portal.htm 瀏覽文章
viewthread_printable.htm 瀏覽可打印版本
viewthread_reward.htm 瀏覽懸賞主題
viewthread_trade.htm 瀏覽商品主題
warn_view.htm 瀏覽帖子警告記錄

不過前面都是打醬油的程序文件,真正的大牌現在才開始,返回根目錄,看source目錄把,主要執行具體功能的程序都在裡面
source下面的discuz_version.php是Discuz!版本標示文件,這個文件是對當前Discuz!版本進行識別,一般不動的。
source下面的多個目錄中,plugins目錄是插件目錄,如果你要用插件接口開發插件,一般文件都是放這個目錄中的;language目錄中是所有的語言包文件,裡面的內容自己打開看就可以了;archiver目錄中的是無圖版的程序。這些一般是無關緊要的,這裡就不浪費篇幅了。

class目錄中都是調用庫的文件,對一般的插件作者來說,只需要掌握下面的幾個目錄裡面的文件就可以了 。
source\class\magic裡面是所有的道具腳本文件,具體文件對應的道具功能到系統設置看就可以了
source\class\task裡面是所有的論壇任務腳本文件
task_avatar.php 頭像上傳任務
task_blog.php 日誌任務
task_connect_bind.php QQ互聯任務
task_email.php 郵箱驗證任務
task_friend.php 加好友的任務
task_gift.php 紅包類任務
task_member.php 用戶類任務
task_post.php 發帖任務
task_profile.php 完善用戶信息的任務
task_promotion.php 空間任務

class\block\forum裡面的文件是DIY論壇頁面的時候,所用到的模塊程序,這裡的程序只管理數據的搜索方式而不管理數據的具體顯示
block_activity.php 論壇活動
block_activitycity.php 論壇活動城市
block_activitynew.php 最新活動
block_forum.php 論壇
block_thread.php 主題
block_threaddigest.php 精華主題
block_threadhot.php 最熱主題
block_threadnew.php 最新主題
block_threadspecial.php 特殊主題展示
block_threadspecified.php 分類主題展示
block_threadstick.php 置頂主題展示
block_trade.php 商品主題展示
block_tradehot.php 最熱商品主題展示
block_tradenew.php 最新商品主題展示
block_tradespecified.php 商品分類信息展示
blockclass.php 只有幾行的程序,用來顯示論壇對應的名稱,不作為單獨的模塊

module目錄中,對一般插件作者來說,掌握forum/home/group/member/misc這5個目錄的程序文件含義就足夠了,另外這些文件調用的模板與templates/default下面的目錄結構和文件是對應的,這點非常好辨別,所以如果要修改對應的模板顯示方式的話,去按照這個規則找htm文件改就可以了。
source\module\forum 管理所有與論壇有關的程序
forum_ajax.php  論壇ajax效果程序
forum_announcement.php 論壇公告
forum_attachment.php 論壇附件下載
forum_forumdisplay.php 論壇主題列表
forum_group.php 群組論壇
forum_image.php 論壇圖片
forum_index.php 論壇首頁
forum_index_mobile.php 論壇首頁——手機版
forum_misc.php 雜項功能,例如像評分收藏什麼都在這裡
forum_modcp.php 論壇版主管理
forum_post.php 論壇帖子發表所用到的程序
forum_redirect.php 帖子跳轉,例如查看上一主題、下一主題就用到這個文件
forum_relatekw.php 標籤聚合
forum_relatethread.php 相關主題顯示
forum_rss.php RSS調用
forum_tag.php 標籤瀏覽
forum_topicadmin.php 主題瀏覽頁面的主題管理
forum_trade.php 商品交易
forum_viewthread.php 瀏覽主題時的主程序

source\module\group 管理所有和群組有關的程序
group_attentiongroup.php 我關注的群組
group_index.php 群組首頁
group_my.php 我的群組

source\module\home 管理所有和家園有關的程序
home_editor.php 家園編輯器
home_invite.php 家園,邀請註冊
home_magic.php 家園,道具
home_medal.php 家園,勳章
home_misc.php 家園,雜項操作
home_rss.php 家園RSS
home_space.php 家園空間
home_spacecp.php 家園空間後台管理
home_task.php 家園,任務操作

source\module\member 功能比較雜,下面詳細說
member_activate.php 用戶激活
member_clearcookies.php 信息清理
member_connect.php QQ互聯
member_connect_logging.php 互聯登錄
member_connect_register.php 互聯註冊
member_emailverify.php Email驗證
member_getpasswd.php 獲取密碼
member_logging.php 標準登錄
member_lostpasswd.php 找回密碼
member_register.php 用戶註冊
member_regverify.php 註冊驗證
member_switchstatus.php 狀態切換,例如從隱身切換到非隱身

source\module\misc 功能也比較雜,下面詳細說
misc_buyinvitecode.php 邀請碼購買
misc_diyhelp.php DIY幫助
misc_error.php 錯誤提示頁
misc_faq.php 論壇自帶的幫助
misc_initsys.php 所有雲服務功能在此
misc_invite.php 邀請註冊
misc_manyou.php 漫遊程序
misc_mobile.php 手機版雜項功能
misc_ranklist.php 排行榜頁面
misc_report.php 用戶報告
misc_seccode.php 驗證碼生成程序
misc_secqaa.php 驗證提問生成程序
misc_stat.php 站點統計
misc_swfupload.php 附件快速批量上傳
misc_tag.php 標籤管理

source\admincp下面的都是和系統站點設置相關的文件,下面的目錄的文件不必掌握,只需要知道cloud是跟雲服務有關的系統設置就可以了
source\admincp\moderate是跟後台審核有關的程序,內容說明如下
  moderate_article.php 文章審核
  moderate_blog.php 日誌審核
  moderate_comment.php 評論審核
  moderate_doing.php 動態審核
  moderate_member.php 用戶審核
  moderate_picture.php 上傳圖片審核
  moderate_portalcomment.php 門戶評論審核
  moderate_reply.php 回複審核
  moderate_share.php 分享審核
  moderate_thread.php 主題審核

source\admincp
admincp_addons.php 認證插件作者管理
admincp_admingroup.php 管理組管理
admincp_adv.php 廣告管理
admincp_album.php 相冊管理
admincp_albumcategory.php 相冊分類管理
admincp_announce.php 公告管理
admincp_article.php 文章管理
admincp_attach.php 附件管理
admincp_block.php 模塊管理
admincp_blockstyle.php 模塊風格
admincp_blockxml.php 同上
admincp_blog.php 日誌管理
admincp_blogcategory.php 日誌分類管理
admincp_card.php 卡密生成
admincp_checktools.php 檢查工具
admincp_click.php 家園訪問
admincp_cloud.php 雲服務
admincp_comment.php 評論管理
admincp_counter.php 論壇統計更新
admincp_cpanel.php 調用庫,調用一些函數
admincp_credits.php 積分設置
admincp_db.php 數據庫管理
admincp_district.php 分類信息模型
admincp_diytemplate.php 模板DIY管理
admincp_doing.php 後台設置搜索功能
admincp_domain.php 導航欄管理
admincp_ec.php 電子商務
admincp_faq.php 論壇幫助管理
admincp_feed.php 動態設置
admincp_forums.php 論壇設置
admincp_founder.php 創始人設置
admincp_group.php 用戶組設置
admincp_index.php 後台首頁
admincp_login.php 後台登陸頁面
admincp_logs.php 系統記錄查看
admincp_magics.php 道具設置
admincp_main.php 調用的模板,顯示頭部信息用途
admincp_medals.php 勳章設置
admincp_members.php 會員設置
admincp_menu.php 系統設置中的菜單
admincp_misc.php 雜項設置,在線列表,友情鏈接等等的
admincp_moderate.php 審核管理,直接調用下面moderate目錄的程序
admincp_nav.php 系統設置中的導航欄
admincp_perm.php 權限設置
admincp_pic.php 上傳圖片管理
admincp_plugins.php 插件管理
admincp_portalcategory.php 門戶文章分類管理
admincp_postcomment.php 帖子點評管理
admincp_postsplit.php 帖子批量管理
admincp_profilefield.php 用戶信息設置
admincp_prune.php 過濾詞語設置
admincp_quickquery.php 快速SQL語句設置
admincp_recyclebin.php 回收站管理
admincp_recyclebinpost.php 回收站帖子管理
admincp_report.php 報告管理
admincp_search.php 搜索管理
admincp_setting.php 系統全局設置
admincp_share.php 分享設置
admincp_smilies.php 表情設置
admincp_specialuser.php 特殊用戶設置
admincp_styles.php 風格設置
admincp_tag.php 標籤管理
admincp_tasks.php 任務管理
admincp_templates.php 模板管理
admincp_threads.php 主題管理
admincp_threadsplit.php 主題批量管理
admincp_threadtypes.php 主題分類
admincp_tools.php 系統工具
admincp_topic.php 主題批量管理,不是單獨使用的
admincp_tradelog.php 商品交易記錄
admincp_usergroups.php 用戶組設置
admincp_verify.php 用戶驗證管理
discuzdb.md5 標準數據庫校驗文件數據文件
discuzfiles.md5 標準程序文件校驗文件數據文件,裡面記錄了標準文件的尺寸信息

\source\function下面就全部都是函數文件了,這些文件真的很好用的,裡面有很多強大的函數,調用這些文件就能用了。
\source\function\cache裡面的文件跟緩存文件生成有關,不必掌握。
source\function 我把和這些函數有關的操作寫出來
  function_admincp.php 系統設置
  function_attachment.php 附件操作
  function_block.php 模塊
  function_blog.php 日誌
  function_cache.php 緩存
  function_cloud.php 雲服務
  function_comment.php 評論
  function_connect.php QQ互聯
  function_core.php 大量的核心函數在這裡,相當於舊版本的global.func.php
  function_credit.php 積分操作
  function_delete.php 刪除操作
  function_discuzcode.php Discuz!代碼
  function_domain.php 導航欄
  function_ec_credit.php 積分交易
  function_editor.php 編輯器
  function_exif.php 相片exif信息
  function_feed.php 動態管理
  function_filesock.php 遠程文件
  function_forum.php 論壇
  function_forumlist.php 論壇列表
  function_friend.php 好友
  function_group.php 群組
  function_grouplog.php 群組記錄
  function_home.php 家園
  function_importdata.php 導出數據
  function_magic.php 道具
  function_mail.php 郵箱操作
  function_manyou.php 漫遊
  function_member.php 用戶
  function_message.php 信息
  function_misc.php 雜項函數
  function_plugin.php 插件
  function_portal.php 門戶
  function_portalcp.php 門戶後天
  function_post.php 帖子
  function_profile.php 個人信息
  function_search.php 搜索
  function_seccode.php 驗證碼
  function_share.php 分享
  function_space.php 個人頁面
  function_spacecp.php 個人頁面設置
  function_stat.php 站點統計
  function_sysmessage.php 系統信息
    function_threadsort.php 主題排序
    function_trade.php 商品交易
    function_userapp.php 用戶應用

最後就是\source\include文件了,很多操作通過入口程序後,執行的具體代碼都在這裡。其中\source\include\cron裡面全部是計劃任務的腳本文件。重點介紹modcp\post\space\thread\topicadmin這5個目錄裡面的文件含義
\source\include\modcp 版主後台程序都在這裡
modcp_announcement.php 公告
modcp_forum.php 論壇標記
modcp_forumaccess.php 論壇權限
modcp_home.php 主頁
modcp_log.php 運行記錄
modcp_login.php 登錄頁面
modcp_member.php 用戶編輯
modcp_moderate.php 審核
modcp_noperm.php 無權限提示頁面
modcp_plugin.php 插件管理
modcp_recyclebin.php 回收站
modcp_recyclebinpost.php 回收站帖子
modcp_report.php 用戶報告
modcp_thread.php 主題批量管理

\source\include\post 帖子發表操作都在這裡進行
post_albumphoto.php 發表相冊照片
post_editpost.php 編輯帖子
post_newreply.php 發新回復
post_newthread.php 發新主題
post_newtrade.php 發新商品主題
post_threadsorts.php 主題分類信息

\source\include\space 個人設置信息的操作都在這裡進行
space_activity.php 郵箱驗證
space_album.php 我的相冊
space_blog.php 我的日誌
space_debate.php 我的辯論
space_doing.php 我的動作
space_favorite.php 個人收藏
space_friend.php 我的好友
space_home.php 我的家園
space_index.php 我的設置主頁
space_notice.php 個人提醒
space_plugin.php 跟插件有關的設置
space_pm.php 論壇內短信息
space_poll.php 我的投票
space_profile.php 我的個人信息
space_reward.php 我的懸賞
space_share.php 我的分享
space_thread.php 我的主題
space_trade.php 我的商品交易
space_videophoto.php 視頻驗證
space_wall.php 我的空間風格設置

\source\include\space\thread 所有的特殊主題的操作都單獨在這個文件夾中的文件中進行
  thread_activity.php 活動主題
  thread_debate.php 辯論主題
  thread_pay.php 收費主題
  thread_poll.php 投票主題
  thread_printable.php 主題打印
  thread_reward.php 懸賞主題
  thread_trade.php 商品主題

\source\include\space\topicadmin 記得在瀏覽主題的時候下拉的主題管理菜單嗎?主要的管理操作代碼都在這裡的文件中
topicadmin_banpost.php 屏蔽帖子
topicadmin_copy.php 主題複製
topicadmin_delcomment.php 刪除評論
topicadmin_delpost.php 刪除帖子
topicadmin_getip.php 查看發帖人的IP
topicadmin_merge.php 合併主題
topicadmin_moderate.php 主題推薦、精華、指定、移動等操作
topicadmin_refund.php 強制退款
topicadmin_removereward.php 取消懸賞
topicadmin_repair.php 修復主題
topicadmin_restore.php 同上
topicadmin_split.php 主題分割
topicadmin_stamp.php 主題鑒定
topicadmin_stamplist.php 主題鑒定的標印列表
topicadmin_stickreply.php 回復貼內指定
topicadmin_warn.php 對某個帖子進行警告

瞭解了dz這些文件的功能,修改dz源文件就不難了!
作者文章推薦
懶得打字嗎?讓本助手協助你 【使用進階編輯器請點選右方進階模式】
您需要登入後才可以回覆 登入 | 註冊

本版積分規則

手機版|Archiver|漁家小舖

GMT+8, 2024年12月22日 09:03 , Processed in 0.197509 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回覆 返回頂端 返回清單