首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

BlogEngine.NET 架構與原始碼分析系列 (11) 開發擴展 (下) - 自訂主題

     編輯:關於ASP.NET

主題系統架構

  • 預設內建三套:Standard、Mobile、Indigo。
  • 熱插拔:將主題資料夾置於 /themes 即可安裝。
  • 官網提供大量社群主題下載。

開發規範與原理

  1. 資料夾名稱 = 主題名稱 (下拉選單讀取來源)。
  2. 必須檔案:
    • site.master:母版頁,BlogBasePage.OnPreInit 動態指定。
    • PostView.ascx:繼承 PostViewBase,文章顯示邏輯。
    • CommentView.ascx:繼承 CommentViewBase,評論顯示邏輯。
  3. 選用:CSS、圖片、JavaScript、自訂 UserControl。

Standard 主題結構範例

/themes/Standard
  site.master
  PostView.ascx
  CommentView.ascx
  /css
    style.css
  /scripts
    theme.js
  /images
    ...

主題切換流程

  1. 使用者在後台選擇主題 → 儲存至 BlogSettings.Theme。
  2. 下一請求 BlogBasePage.OnPreInit 讀取設定 → MasterPageFile = "~/themes/{Theme}/site.master"。
  3. 文章/評論控制項動態載入對應主題的 PostView.ascx/CommentView.ascx。

總結

主題系統以「慣例路徑 + 基類契約」實現零配置熱插拔,開發者專注呈現邏輯,框架負責發現與載入。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved