搜索
SR網頁設計工作室 - 購物網站/企業官網專業開發 Discuz 使用教程 DISCUZ的CSS緩存機制、CSS繼承規範、模板緩存、 ...
byadmin 發表於 2013-5-24 17:35:07 , 4045人已閱讀 , 1人回應
平常我們在利用Firefox或者Chrome檢查網站元素的時候,會發現CSS的檔名是style_2_common.css或者style_2_forum_index.css,這個其實是Discuz緩存的CSS檔案,經常會看到某些朋友直接修改緩存檔案裡面的CSS , 最後發現怎麼過一下之後剛剛修改的樣式又不見了,其實就是因為緩存的CSS檔案是會根據緩存時間去更新的 ! 那麼我們在撰寫修改Discuz CSS的時候去進行了 ? 可以參考以下三大項的概念去了解Discuz 模板緩存、CSS繼承規範和CSS緩存機制:

一、模板緩存

模板緩存存放:所有的模板緩存均被解析成php文件存放在 ./data/template 中,以 「數字_模板標示符組合.tpl.php」形式保存。如*_*_common_block_thread.tpl.php (修號代表數字)。

頁面緩存刷新原理:當我們編輯過模板文件之後,Discuz! 模板解析器會匹配模板htm文件與緩存php文件的最後修改時間,如果判斷模板html文件較新或無緩存文件,則更新或生成緩存。手動刪除此目錄的緩存不會影響Discuz!系統的整體運行,Discuz! 模板緩存仍然會進行自動生成。

二、CSS緩存

CSS緩存存放:./data/cache/目錄中,以 「style_風格編號_所在區域_頁面mod值.css」形式保存。如檢查元素時經常會看到的 style_2_common.css或者style_2_forum_index.css。

如果是非預設的模板文件可以藉由"自定義風格模板" ./template/"模板名稱"/common/extend_common.css 或 extend_module.css 進行CSS擴展,其中這兩個文件的CSS樣式腳本會通過 Discuz! 模板解析將這裡面的值合併對照到Default的風格中 ./template/default/common/common.css 和 module.css 所對應的緩存中去,讓網站去做css渲染使用。

extend_module.css 系統解析與緩存存放:
其中可以使用下面的書寫方法:
  1. /** forum::index,forum::forumdisplay **/
  2.    自定義CSS
  3. /** end **/
複製代碼
上面的寫法含義是:針對 forum 的 index 和 forumdisplay 追加一個自定義的CSS,Discuz模板解析將會根據 forum::index 的關鍵詞將 mycss 分別追加在「./data/cache/style_2_forum_index.css」和「./data/cache/style_2_forum_forumdisplay.css」中(裡面的數字2,根據新增的風格編號而定)

這樣的寫法好處就是,不變更默認模板的情況下有效的擴展CSS,並可以很好的進行多站點移植,同時也可以保護模板的目錄不會暴露。

三、CSS 繼承規範

Discuz! X系列產品中 CSS 文件會在緩存時按照以下順序進行合併:

1、template/default/*.css 文件
2、當使用非默認模版時,template/模版目錄/extend_*.css 文件 或 template/模版目錄/*.css
3、當某插件啟用時,source/plugin/插件目錄/template/extend_*.css 文件

因此非默認模版目錄中的 CSS 屬性將繼承默認模版中的 CSS 屬性,插件目錄中的 CSS 文件將繼承前二者的 CSS 屬性
CSS 自身的集成順序為:當 CSS 屬性名稱相同是,CSS 文件中,寫在後面的替換前面的代碼。

備註:通常在修改自行安裝的模板css時,會發現很多都是直接套用default裡面的設定 , 就是因為css是可繼承的原因,如果要修改的話,通常要確認你寫的css階層,是可以覆蓋掉Default的才會正確被Discuz解析出來喔 !

收藏回覆 只看該作者 道具 舉報

Traffic Exchange Site
您需要登錄後才可以回帖 登錄 | 立即註冊

作者資訊

文章分類

SR數位設計工作室

  • 服務專線:03-3555-069


ECSHOP購物網站開發|接案說明|線上洽詢|隱私權政策|SR數位設計(CMS)

信箱:sr.design2011@gmail.com

, Processed in 0.039454 second(s), 34 queries , Gzip On.

Copyright © 2011-2014 Template By SR網頁設計清新部落風格

Core - DZ2.5 GMT+8, 2024-11-21 20:58

回頂部