http://phpbb-tw.net/phpbb/viewtopic.php?p=246742#246742
原作者:Artemas
以下純備忘參考用
-------------------------------------------------------------------------------
修改subSilver的css方式
首先要知道的是subSilver風格是官方的示範風格,之所以有<style type="text/css">與<!-- link rel="stylesheet" href="templates/subSilver/{T_HEAD_STYLESHEET}" type="text/css" -->
共存於overall_header.tpl 中是讓你知道phpbb是可以採行二種css的執行模式
而也只能選擇其一種,所以才會將引入css路徑法前後加了註解標籤 !--***-- 來中斷該模式。
這二種的差異在哪?
按照預設在 overall_header.tpl 與 simple_header.tpl 與admin/page_header.tpl 中所寫的css模式
他的函式是寫在tpl當中,而把參數例如T_TR_COLOR1這類則引入後台管理中風格管理,所制定的欄位去寫參數,而初始預設的參數來源是來自theme_info.cfg,如果你從後台風格管理中修改了參數,他會告訴你必須去管理選項中輸出本風格才會生效,再到輸出項目中選擇輸出該風格,系統幫你寫好修改版本的theme_info.cfg然後下載覆蓋掉原有的theme_info.cfg,事實上未必要覆蓋也能產生效果,因為按下輸出時候他就寫入資料庫中了,下載的檔案不過是讓你備份修改的項目。
這種方式的好處是讓不會開發css的人,只要按照後台的參數欄位修改所制定好的字型與顏色即可;但缺點是繁瑣一點並且只能按照他原本的預設的式樣修改參數而已,但並不是不可能去增加或異動函式,只是你只能按照他所定義的位置名稱修改,例如
代碼: 選擇全部
th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; }
你可以修改框架的厚度,或移動名稱位置,如td.catSides,移到別處等等,但絕對不能改變他的名稱,不過像
td.row1 { background-color: {T_TR_COLOR1}; }
這種有牽扯後台參數修改的則不能移動,只能再加入其他功能
記住,每次修改都要包含overall_header.tpl 與 simple_header.tpl 與admin/page_header.tpl 這三個檔案一起改。
-------------------------------------------------------------------
如果要採行引入外部css檔案方式,則把
代碼: 選擇全部
<!-- link rel="stylesheet" href="templates/subSilver/{T_HEAD_STYLESHEET}" type="text/css" -->
去掉頭尾的標註,前段 !-- 與後段 --
然後把<style type="text/css"> 與 </style>拿掉,是否要不要保留tpl中原有的css看個人吧,留著是還能參考。
之後可開始動手修改subSilver.css
但依舊不能改變css檔案原有定義好的名稱喔!
使用引入css檔案的好處是,當要異動css時候不用每次去修改overall_header.tpl 與 simple_header.tpl 與admin/page_header.tpl 這三支檔案
特別注意:引入css的方式依舊有幾項欄位是無法完全被css檔案所取代的,theme_info.cfg當中這幾個項目,是無法由css取代的,必須由這支檔案寫入,並且按照傳統後台方式修改與輸出才能有作用。
代碼: 選擇全部
<?php
//
// phpBB 2.x auto-generated theme config file for company_type
// Do not change anything in this file!
//
$company_type[0]['template_name'] = "xxxxxx"; //原有風格名稱或者自創風格
$company_type[0]['style_name'] = "xxxxxx"; //原有風格名稱或者自創風
$company_type[0]['head_stylesheet'] = "xxxxxx.css"; //原有風格檔名稱或者自創風檔
$company_type[0]['body_background'] = "";
$company_type[0]['body_bgcolor'] = "";
$company_type[0]['body_text'] = "";
$company_type[0]['body_link'] = "";
$company_type[0]['body_vlink'] = "";
$company_type[0]['body_alink'] = "";
$company_type[0]['body_hlink'] = "";
$company_type[0]['tr_color1'] = "";
$company_type[0]['tr_color2'] = "";
$company_type[0]['tr_color3'] = "";
$company_type[0]['tr_class1'] = "";
$company_type[0]['tr_class2'] = "";
$company_type[0]['tr_class3'] = "";
$company_type[0]['th_color1'] = "";
$company_type[0]['th_color2'] = "";
$company_type[0]['th_color3'] = "";
$company_type[0]['th_class1'] = "cellpic1.gif"; //不可變更的項目
$company_type[0]['th_class2'] = "cellpic3.gif"; //不可變更的項目
$company_type[0]['th_class3'] = "";
$company_type[0]['td_color1'] = "";
$company_type[0]['td_color2'] = "";
$company_type[0]['td_color3'] = "";
$company_type[0]['td_class1'] = "row1"; //不可變更的項目
$company_type[0]['td_class2'] = "row2"; //不可變更的項目
$company_type[0]['td_class3'] = "";
$company_type[0]['fontface1'] = "Verdana, Arial, Helvetica, sans-serif"; //可選擇性修改字體
$company_type[0]['fontface2'] = "Trebuchet MS"; //可選擇性修改字體
$company_type[0]['fontface3'] = "Courier, \'Courier New\', sans-serif"; //可選擇性修改字體
$company_type[0]['fontsize1'] = "";
$company_type[0]['fontsize2'] = "";
$company_type[0]['fontsize3'] = "";
$company_type[0]['fontcolor1'] = "";
$company_type[0]['fontcolor2'] = "******"; // 自訂版面管理員字體顏色
$company_type[0]['fontcolor3'] = "******"; // 自訂系統管理員字體顏色
$company_type[0]['span_class1'] = "";
$company_type[0]['span_class2'] = "";
$company_type[0]['span_class3'] = "";
$company_type[0]['img_size_poll'] = "";
$company_type[0]['img_size_privmsg'] = "";
?>
上述風格名稱除非你是新設不然按照原名即可,另外參數有寫的欄位都必須有資料。尤其是版面與系統管理員的字體顏色,必須靠這裡才能統一改變。
-------------------------------------------------------------------
上面所說的二種方式都僅只是修改在原有的名稱範圍下而已,如果你要設計自己的css其他功能名稱,不管上面哪一種方式,都必須自己動手去修改該項頁面的tpl檔案,去定義css產生作用的位置。