修改subSilver的css方式

主題已鎖定
頭像
櫻井綾乃
.※.稜鏡之森の守護使者.※.
.※.稜鏡之森の守護使者.※.
文章: 1331
註冊時間: 週二 2006-03-07 09:08
個人狀態: 論壇爆走中...
性別: 醜醜的大美女
來自: 雲上天國
表達感謝: 68 次
擁有感謝: 837 次
星座:
聯繫:

修改subSilver的css方式

文章 櫻井綾乃 »

本文轉自竹貓星球
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產生作用的位置。
如果.....
也許.....
這些都是事後的想法
如果會想著當初怎麼做也許會有什麼結果
不如在當初就做出正確的決定.....
有些事不去嚐試是不會真的體會他的奧妙的~
主題已鎖定

回到「PHPBB2-外掛列表」