1.對主從關係表的增【關鍵】,刪,查,改。
2.對自引用關係表的增刪查改
2.編輯器的配置
3.編輯器圖片上傳
4.編輯器文件管理
5.初級權限控制思路【對頻道的控制:查看 修改 增加 刪除】
6.事務的使用
7.雙top分頁方法的使用
8.緩存的使用
9.文件上傳
10.文件下載
11.模板思路
DTcms圖文信息添加修改刪除的流程
分析:設計多個表的操作,非常的典型,使用事務實現
理清幾張表之間的關係
Photo PhotoAlbum PhotoAttribute PhotoAttributeValue
PhotoAttribute之和頻道相關,只要添加一條多選屬性,該頻道就會繼承該多選屬性
PhotoAttributeValue 記錄了Photo 和 PhotoAttribute 的關係;某一個圖文信息具有幾個多個多選屬性
這種設計類似於“文件標籤的設計”
文件與標籤之間的關係:多對多
常見操作是:爲一篇文章添加多個標籤;查詢該標籤下所有的文件信息【在wp中可以見到】
Photo PhotoAlbum 之間的關係:一對多的關係,一個圖文信息具有多個圖片 沒有疑問
程序中的二次封轉:photo 封轉了 Photo和PhotoAttributeValue
提示:遇到那種單純的主從關係表的,都可以將從表作爲主表的一個附加屬性
增加,通過
修改
刪除
查詢
PBcms頻道菜單加載流程
菜單的加載流程
登錄-->獲取用戶的信息-->檢查用戶的權限[判斷當前用戶的角色是否有查看該菜單的權限]-->加載菜單獲取信息
PBcms權限控制思路
PBcmsURL重寫機制
URLReWrite 參數列表的配置
name 標識的名稱 article_list1
path URL重寫表達式 article/{0}/{1}.aspx
pattern 正則表達式 article/(\d+)*/(\w+).aspx$
page 源頁面地址 article_list.aspx 【系統中真實存在的aspx文件】
querystring 傳遞的參數 category_id=$1^page=$2
templet 模板名稱 article_list.html
channel 所屬的頻道 1
type 頻道的類型 list
inherit 繼承的類名 DTcms.Web.UI.Page.article_list
Name: URL配置的(名稱)key,唯一標識
Path: URL重寫後的地址
pattern: URL重寫的正則表達式
page: 源頁面真實名稱
querystring: 傳輸的參數($1,$2,$3 ……)
templet: 對應的模板文件的名稱
channel: 所屬頻道的ID,不是頻道請爲0
type: 該頁面的類型(首頁:index,列表頁:list,詳細頁:detail,不允許重寫:no)
inherit: 該頁面所要繼承的全侷限定類名
配置選項
<add name="reurl" type="Test.UrlRewriter,WebApplication5" /> 該類的完全限定的名稱 程序集的名稱
需要面對的情況 僞URL的情況
1.僞URL
2.請求目錄
3.請求靜態的文件
思路:混合動態和靜態的
部分頁面可是實現完全的靜態,比如最新發布的文章 等等 較老的文章 就必須就是用動態的話進行管理
PBcms模板生成機制
PBcms無限極分類的思路策略
實現四大操作:查詢 增加 修改 刪除
設計思路
分類ID 分類名字 分類的ID【0表示頂級分類】 分類的層級【從1級別分類開始】 分類的父級ID
查詢
系統設計的分類 和頻道有關,輸入頻道的chanel_id和parentid=0便可以查詢出該頻道下所有的分類,使用了迭代的算法
增加
1--添加父類的情況
2--添加子類的情況
修改
刪除
刪除一個分類,該分類下面的子分類也一併進行刪除