XOOPS 的轉向頁面
System 樣板檔中的 system_redirect.html 是 XOOPS 常會用到的跳轉頁面,當網站換上漂亮的佈景主題後,跳轉頁面依然沿用舊樣式,與新佈景的格調顯得不同,可試試動手在新佈景下為跳轉頁加入新樣式。
刪除語法
先在 /modules/system/templates/system_redirect.html 檔內刪除一段語法,以下為 XOOPS 2.0.* 版的 system_redirect.html 檔代碼內容,XOOPS 2.3 ─ 2.3.2b版也通用,差別在於首行多了 DOCTYPE ,其他的與 XOOPS 2.0.* 版沒有差別。
將如下橘色部分語法刪除:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<{$xoops_charset}>" />
<meta http-equiv="Refresh" content="<{$time}>; url=<{$url}>" />
<title><{$xoops_sitename}></title>
<link rel="stylesheet" type="text/css" media="all" href="<{$xoops_themecss}>" />
</head>
<body>
<div style="text-align:center; background-color: #EBEBEB; border-top: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF; border-right: 1px solid #AAAAAA; border-bottom: 1px solid #AAAAAA; font-weight : bold;">
<h4><{$message}></h4>
<p><{$lang_ifnotreload}></p>
</div>
<{if $xoops_logdump != ''}><div><{$xoops_logdump}></div><{/if}>
</body>
</html>
然後在<html>中插入 id="redirect" ,儲存檔案後就可以到 theme 資料夾下所用的佈景主題中加入新樣式。
<html id="redirect">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<{$xoops_charset}>" />
<meta http-equiv="Refresh" content="<{$time}>; url=<{$url}>" />
<title><{$xoops_sitename}></title>
<link rel="stylesheet" type="text/css" media="all" href="<{$xoops_themecss}>" />
</head>
<body>
<div>
<h4><{$message}></h4>
<p><{$lang_ifnotreload}></p>
</div>
<{if $xoops_logdump != ''}><div><{$xoops_logdump}></div><{/if}>
</body>
</html>
範例演示
先從下表的示例中,按背景圖選擇合適的舖排方式,複製語法加入至佈景主題的 css 檔中:
背景圖 | 範例演示 | 素材來源 | 語 |
---|---|---|---|
全局 | repeat 1 | 水澄ましの歌 | |
repeat 2 | Studio Blue Moon | | |
水平 | x1 | Salon de Ruby | |
x2 | 水澄ましの歌 | | |
x3 | 水澄ましの歌 | | |
垂直 | y | Studio Blue Moon | |
無 | img1 | Salon de Ruby | |
img2 | 除了置中圖標來自官方及經去背處理外,其餘皆來自池水間 | |
語法
- 全局鋪排 - repeat 1 [返回列表]
-
在style.css裡的最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect body{ margin:0; background:url(images/圖檔名稱); text-align:center; } #redirect div{ margin:150px auto; padding:70px 20px; width:50%; background:#fff; opacity:0.65; outline:4px double #fff; } #redirect h4, #redirect p{color:#000; } #redirect a{font-weight:bold;text-decoration:none;color:#0f42a6} #redirect a{color:#000} /*--------------------------- end ---------------------------*/
-
theme.html下,在 </head> 之前加入如下
<!--[if IE]> <style type="text/css"> /*<![CDATA[*/ #redirect div{ filter:alpha(opacity=65); border:4px double #fff; } /*]]>*/ </style> <![endif]-->
- 全局鋪排 - repeat 2 [返回列表]
-
在style.css裡最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect body{ margin:0; background:url(images/圖檔名稱); text-align:center; } #redirect div{ margin:150px auto; padding:50px 20px; width:50%; background:#b689a0; opacity:0.75; outline:4px double #b689a0; } #redirect h4, #redirect p{color:#fff; } #redirect a{font-weight:bold;text-decoration:none;color:#3e1229} #redirect a{color:#fff} /*--------------------------- end ---------------------------*/
-
theme.html下,在 </head> 之前加入如下
<!--[if IE]> <style type="text/css"> /*<![CDATA[*/ #redirect div{ filter:alpha(opacity=75); border:3px double #b689a0; } /*]]>*/ </style> <![endif]-->
- 水平鋪排 - x1 [返回列表]
-
在style.css裡最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect{overflow:hidden} #redirect body{ margin:0; background:#000 url(images/圖檔名稱) repeat-x; text-align:center; padding-top:190px; } #redirect div{ margin:0; width:100%; height:300px; overflow:auto; } #redirect h4, #redirect p{color:#fff; } #redirect a{font-weight:bold;text-decoration:none;color:#658ef8} #redirect a:hover{color:#fff} /*--------------------------- end ---------------------------*/
-
theme.html下,在 </head> 之前加入如下
<!--[if IE]> <style type="text/css"> /*<![CDATA[*/ #redirect{ scrollbar-face-color:#000; scrollbar-highlight-color: #658ef8; scrollbar-3dlight-color: #000; scrollbar-darkshadow-color: #658ef8; scrollbar-shadow-color: #000; scrollbar-arrow-color:#658ef8; scrollbar-track-color:#000; } /*]]>*/ </style> <![endif]-->
- 水平鋪排 - x2 [返回列表]
-
在style.css裡最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect{overflow:hidden} #redirect body{ margin:0; background:#fff url(images/圖檔名稱) fixed repeat-x; text-align:center; height:599px; overflow:hidden; } #redirect div{ margin:220px auto 160px; width:60%; height:220px; overflow:auto; } #redirect h4, #redirect p{color:#3a3a3a; } #redirect a{font-weight:bold;text-decoration:none;color:#384d76} #redirect a:hover{color:#3a3a3a} /*--------------------------- end ---------------------------*/
-
theme.html下,在 </head> 之前加入如下
<!--[if IE]> <style type="text/css"> /*<![CDATA[*/ #redirect div{ scrollbar-face-color:#fffffe; scrollbar-highlight-color: #8a95ab; scrollbar-3dlight-color: #fffffe; scrollbar-darkshadow-color: #8a95ab; scrollbar-shadow-color: #fffffe; scrollbar-arrow-color:#fffffe; scrollbar-track-color:#fffffe; filter:chroma(color=#fffffe); } /*]]>*/ </style> <![endif]-->
- 水平鋪排 - x3 [返回列表]
-
在style.css裡最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect body{ margin:0; background:#000 url(images/圖檔名稱) fixed repeat-x; text-align:center; } #redirect div{margin:80px auto} #redirect h4, #redirect p{color:#fff; } #redirect a{font-weight:bold;text-decoration:none;color:#f8dcb1} #redirect a:hover{color:#fff} /*--------------------------- end ---------------------------*/
- 垂直鋪排 - y [返回列表]
-
在style.css裡最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect body{ margin:0; background:#f4a7a4 url(images/圖檔名稱) fixed repeat-y 50% 0; text-align:center; } #redirect div{ margin:0 auto; padding:180px 0; width:680px; } #redirect h4, #redirect p{color:#c46360; } #redirect a{font-weight:bold;text-decoration:none;color:#a03f3c} #redirect a:hover{color:#c46360} /*--------------------------- end ---------------------------*/
- 無鋪排 - img 1 [返回列表]
-
在style.css裡最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect body{ margin:0; background:#fff url(images/圖檔名稱) fixed no-repeat; text-align:center; padding-left:383px; } #redirect div{margin:150px auto} #redirect h4, #redirect p{color:#50463d; } #redirect a{font-weight:bold;text-decoration:none;color:#bf7a90} #redirect a:hover{color:#50463d} /*--------------------------- end ---------------------------*/
- 無鋪排 - img 2 [返回列表]
-
在style.css裡最後一行加入如下
▲ 灰碼:語法可選,不加入則文字和連結使用佈景主題顏色。/*---------------- system_redirect.html ----------------*/ #redirect{overflow:hidden} #redirect body{ margin:0; background:#fff url(images/圖檔名稱) fixed no-repeat right bottom; text-align:center; } #msg-block{ overflow:hidden; background:url(images/xoops-ribbon.png) no-repeat 0 0; width:100%; overflow:hidden; } #msg-block div{ margin:6% auto 250px; padding:60px 20px 20px; background:url(images/xoops-icon.png) no-repeat 50% 13px; width:45%; overflow:auto; max-height:170px; color:#002563; } #redirect h4, #redirect p{color:#002563; } #redirect a{font-weight:bold;text-decoration:none;color:#2a6cc5} #redirect a:hover{color:#002563} /*--------------------------- end ---------------------------*/
-
theme.html下,在 </head> 之前加入如下
<!--[if IE]> <style type="text/css"> /*<![CDATA[*/ #redirect div{ scrollbar-face-color:#ffffff; scrollbar-highlight-color: #3281c4; scrollbar-3dlight-color: #ffffff; scrollbar-darkshadow-color: #3281c4; scrollbar-shadow-color: #ffffff; scrollbar-arrow-color:#ffffff; scrollbar-track-color:#ffffff; padding:80px 20px 50px; height:140px; } /*]]>*/ </style> <![endif]-->
-
在/modules/system/system_redirect.html 內加入
<body> <div id="msg-block"> <div> <h4><{$message}></h4> <p><{$lang_ifnotreload}></p> </div> <{if $xoops_logdump != ''}><div><{$xoops_logdump}></div><{/if}> </div> </body> </html>
圖片預載
加入語法後,如發現在進入轉向頁面時背景圖或圖片有顯示延遲的現象,就繼續下一步,在theme.html裡加上一段預先載入圖片的語法,本例只適合少量圖片的預載。
在theme.html裡的</body>之前加上:
<div id="imgloading"></div>
在 style.css 裡的 end 註解之前:
/*---------------- system_redirect.html ----------------*/
#imgloading{
background-image:url(images/圖檔名稱);
width:0;
height:0;
}
/*--------------------------- end ---------------------------*/
如果要預載兩三幅圖片,在 theme 可以這樣:
<div id="imgloading">
<span id="loading1"></span>
<span id="loading2></span>
<span id="loading3></span>
</div>
於 style.css 中:
/*---------------- system_redirect.html ----------------*/
#imgloading{
width:0;
height:0;
}
#loading1{
background-image:url(images/圖檔名稱1);
}
#loading2{
background-image:url(images/圖檔名稱2);
}
#loading3{
background-image:url(images/圖檔名稱3);
}
/*--------------------------- end ---------------------------*/
至此,整個步驟便完成。