iT邦幫忙

DAY 28
5

DotNetNuke的學習心得系列 第 24

[鐵人賽Day28]維護DotNetNuke的清單列表(List)–在Profile中可以下拉選擇台灣的縣市

這一篇的標題似乎不太好訂,不過讀者們一定有在別的網站上填寫個人資料的經驗,有一些網站在地址資訊的部份可以讓使用者們利用下拉式清單選取的方式讓使用者選擇所在縣市,而這一篇就要教大家如何不寫程式讓DotNetNuke可以產生台灣各縣市的下拉清單供使用者選取。
有使用過DotNetNuke的讀者就會知道,DotNetNuke中的Profile個人資訊裡有一個填寫聯絡地址的區域,有一個欄位是國家(Country),利用下拉式清單可以選擇世界上各個國家的名稱,當然包含台灣在內。另外有一個欄位是區域(Region),如果在國家(Country)的部份選擇的是United States(US,美國),那麼在區域(Region)的部份就會產生下拉式選單讓使用者可以選取所在的縣市區域,例如紐約(New York),不過如果在國家(Country)的部份選擇台灣(Taiwan),那麼在區域(Region)的欄位就會變成文字方塊讓使用者自行輸入,無法產生下拉清單讓使用者選擇縣市。

如果要讓系統能夠正確的產生台灣各縣市名稱的下拉清單讓使用者選擇,必須登入最高權限管理者的帳號,在Host選單中的列表(List)頁面中維護系統內的清單列表項目。

進入到列表頁面之後,讀者可以看到左邊的列表中有一個Country項目,這個項目包含了子項目(有展開圖示),系統之所以可以產生縣市的下拉清單就是在這裡面填寫了相關的資料,因此請點選下方的新增列表按鈕。

進入新增列表的編輯頁面之後,依照一般的填寫邏輯是由上往下依序填寫,不過這裡有點不太一樣,如果先填寫了列表名稱後選擇父列表,下方的項目文字和項目值尚未填寫的時候會先出現錯誤的提示訊息,結果父列表下的父項目便無法進行選擇,這樣會導致子列表被新增到不正確的項目下。

為了避免父項目無法正常選取,因此請先將列表名稱和項目文字以及項目值填寫完畢,這邊要特別注意的是列表名稱請輸入Region,代表的是在Country列表中的Taiwan項目下有一個Region子列表,而在這個子列表中才會是各縣市項目要放置的地方(Region項目)。
項目文字和項目值的部份只是這個Region列表的其中一個項目,在這裡就是先填入第一個要放在Region列表中的項目而已(無關順序)。

新增完列表後就可以在左邊的清單裡看到Country列表內多了Country.Taiwan:Region的子列表。

進入後可以看到剛才填寫的第一個項目,點選新增項目可以繼續增加其它的縣市項目。

新增項目的編輯畫面。

完成列表及項目的新增之後,再度回到Profile個人資訊的編緝畫面,在國家的欄位選擇Taiwan,這時候DotNetNuke已經可以自動產生縣市的下拉清單供使用者選取囉!

或許有些人會覺得,國家之後為什麼是在「區」的部份選擇縣市?怎麼不是在城市的欄位選擇?

其實這只是英文翻譯成中文的差別,因為在國家的部份原文是Country,區則是Region翻譯而來,城市雖然是City,但是比較像是台灣的行政區,例如:台北市中正區。在Region欄位的提示內容中是這麼寫的「Enter the region (state, province or county) part of the address」,也就是屬於國家之下最大的行政區域的意思,而City的提示內容則是「Enter the city part of the address」,相較之下就是屬於縣市下的行政區域,因此順序來說就是Country→Region→City(台灣→台北市→中正區),這部份事實上並沒有什麼特別尷尬或不順的問題,別忘了管理者是可以在語言的地方編輯中文語系的資源檔,只要在語系中針對相關的資源名稱改成對應的中文不就得了嗎?(忘了在哪改了嗎?請參考這篇)

這一篇除了向讀者介紹DotNetNuke內建的List並且可以加入台灣各縣市的下拉清單項目之外,有在開發DotNetNuke模組的讀者們,建議在模組當中如果有類似的應用(Name/Value清單需求),應該優先考慮使用DotNetNuke的List功能,這樣也可以善加利用DotNetNuke中對於Name/Value清單的編輯器,不需要自行設計相關的介面來讓使用者維護清單的內容。

至於在模組開發中該如何使用DotNetNuke的List項目,未來有機會再寫篇文章來作介紹,在這之前就請讀者們自行參考DotNetNuke的原始碼自行摸索啦!

(本文同步發表於泰克哪裡去部落格)

[鐵人賽Day1]DotNetNuke簡介
[鐵人賽Day2]DotNetNuke安裝前置作業
[鐵人賽Day3]DotNetNuke安裝-傳統方式安裝在IIS
[鐵人賽Day4]DotNetNuke安裝-透過Web PI安裝
[鐵人賽Day5]DotNetNuke安裝-使用Windows Azure Website
[鐵人賽Day6]DotNetNuke網站結構說明
[鐵人賽Day7]安裝DotNetNuke語系
[鐵人賽Day8]DotNetNuke-新增頁面與模組
[鐵人賽Day9]第一個DotNetNuke模組-Hello DotNetNuke
[鐵人賽Day10]DotNetNuke模組的多國語系
[鐵人賽Day11]安裝DotNetNuke專案範本
[鐵人賽Day12]DotNetNuke模組設計範本–SimpleModule(1)
[鐵人賽Day13]DotNetNuke模組設計範本–SimpleModule(2)
[鐵人賽Day14]DotNetNuke模組設計範本–SimpleModule(3)
[鐵人賽Day15]DotNetNuke模組設計範本–SimpleModule(4)
[鐵人賽Day16]DotNetNuke使用篇–會員帳號設定(User Account Settings)
[鐵人賽Day17]DotNetNuke使用篇–第三方帳號驗證
[鐵人賽Day18]DotNetNuke使用篇–管理使用者帳號、角色
[鐵人賽Day19]DotNetNuke使用篇–建立子網站
[鐵人賽Day20]DotNetNuke使用篇–內容多語系化
[鐵人賽Day21]DotNetNuke使用篇–Host設定介紹
[鐵人賽Day22]DotNetNuke使用篇–網站設定(Site Settings)介紹
[鐵人賽Day23]翻譯DotNetNuke–使用語言編輯器
[鐵人賽Day24]DotNetNuke的網頁選單(Menu)翻譯
[鐵人賽Day25]設定DotNetNuke的Email範本
[鐵人賽Day26]DotNetNuke寄送郵件功能介紹
[鐵人賽Day27]查看DotNetNuke的執行記錄–事件檢視器(Log Viewer)介紹
[鐵人賽Day29]DotNetNuke樣式設計–Skin和Container簡介
[鐵人賽Day30]尋找更多的DotNetNuke擴充套件(Module、Skin)


上一篇
[鐵人賽Day27]查看DotNetNuke的執行記錄–事件檢視器(Log Viewer)介紹
下一篇
[鐵人賽Day29]DotNetNuke樣式設計–Skin和Container簡介
系列文
DotNetNuke的學習心得27

尚未有邦友留言

立即登入留言