新增一個自己的風格的大致的步驟
第一步,我們直接用預設模板拉一個副本出來,改個名字,進入後臺--> 介面--> 模板管理,填寫剛剛的副本的資訊。
第二步,修改剛剛建立的副本的 discuz_style_default.xml 檔案,其中:
·<item id="Data"> 下的 templateid 要填寫在後臺模板管理中新增的模板資訊的 id 或者留空,否則即使進入後臺的風格管理去安裝這個模板也會一直顯示的是預設風格的複本。
·其他標籤應該還是很好理解的,改成自己的站點或者名字資訊就可以了,比較方便的方法是進後臺後去安裝風格後直接編輯就行。
·preview.jpg 和 preview_large.jpg 分別是你想做的風格的縮圖和大圖
第三步,安裝風格,將該風格設為預設,這個就不用說什麼了。
第四步,開始你自己風格的開發.....
下面是牽涉到的一些函式
1.source/admincp/admincp_styles.php
後臺進行風格新增的功能,if($operation == 'import') 以下的程式碼是新增風格。
require_once libfile('function/importdata'); 引入該檔案並呼叫了 import_styles 方法進行新增。
2.source/function/function_importdata.php
看看 import_styles 在幹嘛,根據 $dir 配置檔案路徑就是 discuz_style_default.xml 檔案的路徑取出配置放到 $stylearrays 中,接著 foreach($stylearrays as $stylearray) 讀取其中的資料。
這裡可以看到對 $stylearray['templateid'] 的判斷,這裡如果你沒有改這個引數,還是 1 的話,安裝的就會是預設模板的複本,透過 if(DB::result_first("SELECT COUNT(*) FROM ".DB::table('common_style')." WHERE name='$stylearray[name]'")) 的判斷。
接下來向 common_style 風格表和 common_stylevar 風格引數列中寫入新風格的資料。
最後根據 $updatecache 決定是否更新快取。
至此新風格的新增及其相關程式碼的分析結束~~~