Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「[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書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
82
人線上 (
8
人在瀏覽
線上書籍
)
會員: 0
訪客: 82
更多…