:::
所有書籍
「[1092] 前端技術入門」目錄
MarkDown
2-2 css/style.css
1. HTML5與CSS3入門
1-1 css/style.css
1-2 index.html
2. 進階自適應排版技術
2-1 theme.html
2-2 css/style.css
3. 製作成XOOPS佈景
3-1 theme.tpl
3-2 css/style.css
3-3 xotpl/nav.tpl
3-4 xotpl/block.tpl
3-5 xotpl/canvas.tpl
3-6 xotpl/search.tpl
3-7 xotpl/logo.tpl
4. 讓佈景可透過tad_themes來管理
4-1 theme.tpl
4-2 css/style.css
4-3 config.php
4-4 xotpl/nav.tpl
4-5 xotpl/menu.tpl
4-6 xotpl/opt.tpl
5. 用CSS3美化區塊
5-1 xotpl/block.tpl
5-2 css/style.css
5-3 theme.tpl
6. 利用多背景來組成自適應畫面
6-1 modules\system\system_siteclosed.tpl
6-2 config.php
6-3 xotpl\nav.tpl
6-4 theme.tpl
6-5 css\style.css
6-6 xotpl\header.tpl
6-7 xotpl\carousel.tpl
6-8 config2_slide.php
6-9 language\tchinese_utf8\main.php
6-10 config2.php
3-1 theme.tpl
\[1092\] 前端技術入門 =============== ### 一、關於
XOOPS
佈景樣板
1.
XOOPS
佈景樣板支援
.html
以及
.tpl
(建議),故將佈景檔改名為`
theme.tpl
` 2.
XOOPS
用的是
Smarty2.x
的樣板引擎(最新為
3.x
) 3. 佈景只作用在前台,後台有後台專用的佈景(亦可自行設計) 4. 布景暫時切換法(登出就恢復原狀): 1. 至後台「偏好設定→系統設定→一般設定」,將「使用者可選擇的佈景」加入新佈景 2. 至區塊管理,啟用「網站佈景」區塊,並置於所有頁面,以便切換。 3. 至前台,找到「網站佈景」區塊,點選新佈景套用之,並檢查運作有無異常。 5. 正式切換佈景:
後台「偏好設定→系統設定→一般設定」,將「預設佈景」設為新佈景即可。
6. 若是空網站,建議用安裝精靈,快速新增一些內容,如此比較能測試佈景的正確性。 ### 二、
XOOPS
內建的樣板標籤 1. 一般都有的佈景樣板標籤: 1. `
<{$xoops_langcode}>
`:語系(
lang
) ```markup ``` 2. `
<{$xoops_charset}>
`:語系編碼(
charset
) ```markup
``` 3. `
<{$xoops_sitename}>
`:網站名稱 4. `
<{$xoops_slogan}>
`:網站口號 ```markup
<{$xoops_sitename}>-<{$xoops_slogan}>
``` 5. `
<{$xoops_pagetitle}>
`:頁面標題 6. `
<{$xoops_search}>
`:是否開放搜尋 7. `
<{$xoops_theme}>
`:使用佈景名稱 8. `
<{$xoops_imageurl}>
`:佈景路徑 9. `
<{$xoops_themecss}>
`:佈景
CSS
路徑 10. `
<{$xoops_requesturi}>
`:執行的網址 11. `
<{$xoops_dirname}>
`:
XOOPS
目錄 12. `
<{$xoops_banner}>
`:廣告 13. `
<{$xoops_url}>
`:網址 14. `
<{$xoops_rootpath}>
`:實體路徑 15. `
<{$xoops_version}>
`:
xoops
版本 16. `
<{$xoops_upload_url}>
`:上傳目錄網址 2. 登入後才會有的登入者資訊: 1. `
<{$xoops_isuser}>
`:是否有登入 2. `
<{$xoops_avatar}>
`:使用者圖像 3. `
<{$xoops_userid}>
`:使用者編號 4. `
<{$xoops_uname}>
`:登入帳號 5. `
<{$xoops_name}>
`:真實姓名 6. `
<{$xoops_isadmin}>
`:是否為管理員 7. `
<{$xoops_usergroups}>
`:使用者所屬的群組編號(陣列) 3. 後台「偏好設定→系統設定」中的所有項目,例如頁尾的輸入框
name
為
footer
,那麼只要用`
<{$xoops_footer}>
`即可抓到頁尾內容。 ### 三、將佈景內的素材佈景路徑 1. 佈景中一律使用絕對路徑,如`
<{xoImgUrl}>
`或`
<{xoAppUrl}>
`(注意,沒有
$
符號) 2. 凡是有引入佈景內的素材(
css, js, images
),一律在前面加上`
<{xoImgUrl}>
`,如: ```markup
``` 3. `
<{xoImgUrl}>
`屆時會被替換成「
http://
網址
/themes/
佈景名稱
/
」 4. 還有另一個標籤`
<{xoAppUrl}>
`則是會被替換成「
http://
網址
/
」,亦可用`
<{$xoops_url}>
``
` ```markup
```
### 四、換成更強大的
meta
1. 將原有的`
`全部移除,換成
tadtools
內建的`
meta.tpl
`
```markup <{includeq file="$xoops_rootpath/modules/tadtools/themes_common/meta.tpl"}> ``` 2.
tadtools
內建的`
meta.tpl
`更完整,也更強大,例如有支援
facebook
的各種
og
標籤 ### 五、改成
tadtools
內建的
css
1. 佈景中原有的
BootStrap4
、
font-awesome
其實
tadtools
中也都有內建,還更完整,包括會引入
XOOPS
需要的各種
css
檔,因此,我們可以先將引入的
css
註解或刪除,改成: ```markup <{includeq file="$xoops_rootpath/modules/tadtools/themes4_tpl/link_css.tpl"}> ``` 2. 請將之貼到其他的
css
引入檔(如
stellarnav.min.css
導覽列)之下,如此,我們日後可以透過修改`
css/style.css
`來修正一些既有的
css
設定。 3. 由於裡面有也會自動引入佈景下的`
css/style.css
`,故亦可將此行註解或刪除。 4. 若佈景是用
BootStrap3
,則需將 `
themes4_tpl
`改為 `
themes3_tpl
` 5. 套用完或許會發現
aside
、
article
的最低高度被取消了,這是因為被
BootStrap4
的網格系統給重置了。若堅持要有最低高度,可以利用萬惡的`
!important
`來達成,例如: ```css article { min-height: 450px !important; } ``` 6. `
!important
`可給予該宣告最大優先權(比行內樣式還高),但不建議濫用,有時會造成除錯困難。 ### 六、加上給各個模組引入
css
或
js
用的區域 1. 由於模組本身也可能需要引入
css
檔或
js
檔,因此,
XOOPS
有個機制可以讓各個模組字型引入
css
或
js
,且一旦發現重複引入,便會自動整合成一個,以避免重複引入,引入結果會套用到`
<{$xoops_module_header}>
`中。故請將之放到`
link_css.tpl
`底下。 ```markup <{$xoops_module_header}> ```
### 七、改成
tadtools
內建的
js
1. 接著
js
部份也一樣改用內建的,因為內建也會引入
jquery
、
popper
、
bootstrap
的
js
: ```markup <{includeq file="$xoops_rootpath/modules/tadtools/themes4_tpl/bootstrap_js.tpl"}> ``` 2. 請放到`
<{$xoops_module_header}>
`之下,原來的那三行
js
就可以刪除或註解掉囉! ### 八、把導覽列做成獨立樣板 1. 為了保持`
theme.tpl
`的易讀性及彈性,可將導覽列的部份做成獨立樣板,以後還可以方便切換成不同導覽列。 2. 建立`
xotpl/nav.tpl
`,並將導覽列的相關語法,如外部連結的`
stellarnav.min.css
`檔、內部樣式`
`設定及`
`語法,還有下方的
js
部份都搬到該檔中。 3. 最後在原來的位置引入該樣板檔即可: ```markup <{includeq file="$xoops_rootpath/themes/my_theme/xotpl/nav.tpl"}> ```
### 九、將佈景名稱設為變數 1. 做成樣板後,未來會有很多地方會用到佈景目錄名稱,萬一以後佈景改名,那得修改非常多地方,因此,可以利用`
assign
`語法將佈景名稱設為
Smarty
變數。 ```markup <{assign var=my_theme value=$xoTheme->folderName}> ``` 2. 原本引入該導覽列樣板檔的語法即可把
`my_theme`
改為`
$my_theme
`: ```markup <{includeq file="$xoops_rootpath/themes/$my_theme/xotpl/nav.tpl"}> ```
### 十、佈景的
11
個顯示區域 1.
XOOPS
呈現區塊的區域一共有
11
個區域,分別是: 1. `
canvas_left
`(左區域) 2. `
canvas_right
`(右區域) 3. 中間區域還分為上下各三區: 1. `
page_topleft
`(上中左區域) 2. `
page_topcenter
`(上中區域) 3. `
page_topright
`(上中右區域) 4. `
page_bottomleft
`(下中左區域) 5. `
page_bottomcenter
`(下中區域) 6. `
page_bottomright
`(下中右區域) 4. 頁尾區則分三區: 1. `
footer_left
`(頁尾左區域) 2. `
footer_right
`(頁尾右區域) 3. `
footer_center
`(頁尾中區域) 4. `
footer_all
`(預留,無實際作用) 2. 以上位置只是建議位置,佈景開發者其實可以任意運用這些區域,彈性擺放到版面設計中。 3. 整個網站的所有區塊是放在`
<{$xoBlocks}>
`中,該值為多維陣列,以左區域為例,所有左區域的區塊就是包含在`
<{$xoBlocks.canvas_left}>
`中 4. 每個區塊的結構其實都一樣,所以,可以先做一個共用的區塊樣板`
xotpl/block.tpl
`來供套用,以便呈現一個區塊的標題和內容。 ```markup
<{$block.title}>
<{$block.content}>
``` 5. 每個區塊的完整訊息都包含在`
<{$block}>
`中,其中可用的項目有`
id
`(區塊編號)、`
module
`(所屬模組)、`
title
`(區塊標題)、`
weight
`(權重)、`
lastmod
`(最後修改日期)、`
content
`(區塊內容),若要顯示 區塊標題,用`
<{$block.title}>
`即可。 ### 十一、導入左右區域的區塊 1. 左區域中的所有區塊是放在`
<{$xoBlocks.canvas_left}>
`中,因為一個區域可能會有很多個區塊,所以,我們用
Smarty
的迴圈將之讀出,並將之存為`
xotpl/canvas_left.tpl
`: ```markup <{foreach from=$xoBlocks.canvas_left item=block}> <{includeq file="$xoops_rootpath/themes/$my_theme/xoTpl/block.tpl"}> <{/foreach}> ``` 2. 最後在`
theme.tpl
`中的左區域部份(順便加上`
id="canvas_left"
`),引入該樣板檔即可: ```markup ``` 3. 右邊區域請比照辦理,只要將 `
canvas_left
`
改為
`
canvas_right
`
即可。
### 十二、導入頁尾區的區塊 1.
XOOPS
於
2.5.9
起新增了三個頁尾區塊顯示區域,故佈景也需要新增此三區才行。 2. 先建立
xotpl/footer.tpl
,並於頁尾區引入之 ```markup ``` 3. 在`
xotpl/footer.tpl
`中用`
.row>.col-sm-4*3
`建立三個區域,並依序導入`
$xoBlocks.footer_left
`、`
$xoBlocks.footer_center
`、`
$xoBlocks.footer_right
`
```markup
跑 $xoBlocks.footer_ left 迴圈
跑 $xoBlocks.footer_center 迴圈
跑 $xoBlocks.footer_right 迴圈
<{$xoops_footer}> ``` 4. 其中`
<{$xoops_footer}>
`會呈現預設的頁尾資訊(於後台「
meta
及頁尾」中設定) ### 十三、製作中間區域(含主內容區) 1. 先來製作`
xotpl/page_center.tpl
`中間區域的樣版檔 ```markup
跑 $xoBlocks.page_topcenter 迴圈
跑 $xoBlocks.page_topleft 迴圈
跑 $xoBlocks.page_topright 迴圈
<{$xoops_contents}>
跑 $xoBlocks.page_bottomleft 迴圈
跑 $xoBlocks.page_bottomright 迴圈
跑 $xoBlocks.page_bottomcenter 迴圈
``` 2. 將中間區域改為`
div#page_center
`,並引入 `
page_center.tpl
`
```markup
<{includeq file="$xoops_rootpath/themes/$my_theme/xotpl/page_center.tpl"}>
``` 3. 至此,大致所有內容都已經可以顯示出來了!剩下的就是各種
CSS
微調囉!
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
40
人線上 (
13
人在瀏覽
線上書籍
)
會員: 0
訪客: 40
更多…
:::
主選單
NTPC OpenID
活動報名
模組控制台
進階區塊管理
站長工具箱(急救版)
網站地圖
Tad Tools 工具包
站長工具箱
行事曆
討論留言
嵌入區塊模組
快速登入
網站計數器
好站連結
最新消息
檔案下載
線上書籍
電子相簿
影音播放
常見問題
萬用表單
友站消息
社大學員
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
登入
登入
帳號
密碼
登入