背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默認(rèn)  
閱讀內(nèi)容

IWMS系統(tǒng)的標(biāo)簽詳細(xì)解析

[日期:2008-07-23] 來源:  作者:九通科技 [字體: ]

  IWMS太復(fù)雜,除了在幫助文檔中介紹的幾個(gè)標(biāo)簽,其他在模板中使用的N多標(biāo)簽都沒有相關(guān)的文檔參考。近日想對(duì)其進(jìn)行WEB標(biāo)準(zhǔn)化改造,準(zhǔn)備靠“修改-測試”來搞清除標(biāo)簽的意思,這么多標(biāo)簽靠記憶力是記不住了,所以用此文作為工作筆記。

引用內(nèi)容 引用內(nèi)容
本文將在一段時(shí)間內(nèi)置頂,希望同好留言補(bǔ)充。(為了避免垃圾廣告留言,在留言內(nèi)容中不要包含“http:”“www.”)。


“首頁模板”部分

1、<html xmlns="這是個(gè)語言定義。執(zhí)行后默認(rèn)值是“gb2312”,可以使用官方“UTF-8轉(zhuǎn)換工具”轉(zhuǎn)成“UTF-8”。雖然IWMS推薦轉(zhuǎn)換成UTF-8,但是其官方站使用的仍然是“gb2312”。根據(jù)實(shí)驗(yàn),如果轉(zhuǎn)換成UTF-8后,IWMS的后臺(tái)“編輯模板”功能將認(rèn)不出模板內(nèi)容。建議保持原樣,暫不更改。如果是經(jīng)常使用中文1-2級(jí)字庫以外的字符,建議還是更換為UTF-8,特別是程序代碼內(nèi)容多,NFO文件內(nèi)容引用多的站點(diǎn)。

2、<!--#i nclude file="../inc/html_head.inc"-->
這是個(gè)服務(wù)器端嵌入的語句。表示將../inc/html_head.inc的文本內(nèi)容填充到該位置,客戶端看不出任何痕跡。只要修改這個(gè)INC的內(nèi)容,就能對(duì)網(wǎng)站的相應(yīng)部分進(jìn)行批量更新(已生成的靜態(tài)頁面需要重新生成)。模板中的嵌入文件路徑全是以模板所在目錄為起始點(diǎn)計(jì)算。這里將INC文件中的內(nèi)容當(dāng)作模板的一部分進(jìn)行解讀。

3、<title> <%=htmlTitle%> </title>
這個(gè)標(biāo)簽的執(zhí)行結(jié)果是頁面的標(biāo)題。在首頁是就網(wǎng)站名稱,在分類頁就是分類名稱,在內(nèi)容頁就是內(nèi)容名稱。如果你想在標(biāo)題上加上站名,就在前面或者后面加上文字即可。比如<title><%=htmlTitle%>--洪城網(wǎng)世</title>。自動(dòng)獲得站點(diǎn)名,也可以試著使用<%=config.SiteName%>看看。IWMS會(huì)在</title>標(biāo)簽后加入“Powered by iwms
http://www.iwms.net/”的備注信息,如果不使用</title>標(biāo)簽,備注就不會(huì)被加入。但是……頁面就沒有標(biāo)題了。

接下來的<%=config.Charset%>,跟前面所說的第1條意思一樣。

4、<link rel="icon" href="favicon.ico" type="image/x-icon" />
這個(gè)ICO文件是網(wǎng)站的圖標(biāo),建議修改成自己的文件。以便在多窗口的新型瀏覽器中更好地標(biāo)識(shí)自己。

5、<meta name="description" content=" <%=config.MetaDescription%> "/>
頁面的描述。內(nèi)容取決于首頁的設(shè)置、分類的設(shè)置,或者正文頁的簡介。HTML的內(nèi)容會(huì)帶上標(biāo)簽,所以盡量在正文的簡介中不使用格式化標(biāo)簽。

6、<meta name="keywords" content="">
這個(gè)標(biāo)簽是個(gè)問題標(biāo)簽,沒有默認(rèn)內(nèi)容,也無法動(dòng)態(tài)獲得新聞?wù)牡年P(guān)鍵字?赡苁蔷帉懼械囊粋(gè)失誤。如果覺得有必要,可以自己寫一段代表本網(wǎng)站的關(guān)鍵字。我覺得還是可以動(dòng)態(tài)獲得新聞?wù)牡年P(guān)鍵字標(biāo)簽比較好。

7、<meta name="generator" content="iwms網(wǎng)站管理系統(tǒng)"/>
可隨意修改的標(biāo)簽,刪除也沒關(guān)系。

8、<link rel="stylesheet" href=" <%=style.Css%> " type="text/css"/>
獲得當(dāng)前頁面采用的“界面風(fēng)格”的CSS文件路徑。如果不想通過后臺(tái)管理樣式表,可以用自定義的CSS絕對(duì)路徑代替。建議在不熟悉的情況下不要更改。

9、<script type="text/javascript" src=" <%=urlPrefix%> inc/flash.js"></script>
獲得當(dāng)前頁面的路徑相對(duì)深度,就是“..”“../../”之類。其實(shí)我覺得寫個(gè)絕對(duì)路徑更省事。這個(gè)FLASH.JS是個(gè)方便插入FLASH內(nèi)容的東西,如果覺得累贅,可以根據(jù)自己的需要改寫。

10、var thumbWidth= <%=config.TitleImgWidth%> ;var thumbHeight=0;
var thumbHWidth= <%=config.HeadlineImgWidth%> ;var thumbHHeight=0;
者兩個(gè)項(xiàng)目數(shù)值從后臺(tái)的“系統(tǒng)設(shè)置-新聞相關(guān)”中獲得。分別是“標(biāo)題圖片最大寬度”“頭條標(biāo)題圖片最大寬度”。height數(shù)值為0,意思大概是不限定,按比例自動(dòng)調(diào)整。

11、<%=style.PicNavSeparator%> <%=style.PicBullet%> <%=style.PicTop%> <%=style.PicNavBullet%>
這一組預(yù)加載的圖片是在頁面中經(jīng)常用到的。分別代表當(dāng)前界面樣式中的“導(dǎo)航分割圖片”、“新聞條目指示圖標(biāo)”、“置頂標(biāo)記”、“底部導(dǎo)航指示圖標(biāo)”。這個(gè)部分單獨(dú)修改成自定義的圖像文件是沒有意義的。

12、 <!--#i nclude file="../head.inc" -->
這里載入的外部文件是網(wǎng)頁展示部分的文件頭。因?yàn)樗许撁嬉话愣际枪蚕硪粋(gè)頭部,所以將此部分單獨(dú)拎出來自成一個(gè)文件。這個(gè)部分的設(shè)計(jì)其實(shí)可以比較隨性,那個(gè)專為頭部設(shè)定的ID“sitehead”也可以隨便改成自己的。如果要吧網(wǎng)站標(biāo)準(zhǔn)化,首先就要把這個(gè)頭部改造掉。

13、 <%=config.SiteUrl%> <%=config.Logo%> <%=config.HeadAd%> <%=config.SiteName%>
分別獲取在后臺(tái)設(shè)定的網(wǎng)站地址與網(wǎng)站LOGO設(shè)定(不僅僅是LOGO圖片,可能包含更多的HTML代碼),以及廣告位中的頭部廣告代碼、后臺(tái)設(shè)置中設(shè)定的網(wǎng)站名稱。

14、 head.inc的最后一段是關(guān)于簡繁切換功能的設(shè)定。他首先會(huì)判斷當(dāng)前字符設(shè)定是GB2313還是BIG5,如果不是這其中的一種,則調(diào)用一個(gè)外部的 inc/language.js文件,用替換指定字符的形式實(shí)現(xiàn)簡繁轉(zhuǎn)換。個(gè)人感覺這種方式效率很低,所以如果采用UTF-8的話,還是把簡繁轉(zhuǎn)換的功能關(guān)閉。如果是GB2312或者BIG5,還要判斷后臺(tái)是否允許用戶更改簡繁設(shè)定,如果不能更改,則給該DIV加上禁止點(diǎn)擊的限制,從而實(shí)現(xiàn)“禁止用戶更改設(shè)定”,這個(gè)重任落在了<%=config.UserConvBig5 ? "" : "disabled='disabled' onclick='return false;'"%>身上。

15、<!--#i nclude file="../inc/navclass.aspx"-->
這是插入導(dǎo)航的標(biāo)簽。麻煩從這里開始了。這段標(biāo)簽只是導(dǎo)航菜單的一部分,還有一個(gè)關(guān)聯(lián)部分出現(xiàn)在FOOT.INC中。

20、頭條圖片新聞<%=ImgHeadline(2,"normal",150,true,22,2)%>
這個(gè)函數(shù)在幫助文件中沒有更新最后一個(gè)參數(shù)的意思。那是個(gè)分幾列顯示的選項(xiàng)。風(fēng)訊、動(dòng)易尚且不能及時(shí)更新幫助文檔,作為一個(gè)人開發(fā)的IWMS自然也不能幸免。其實(shí)作為設(shè)計(jì)人員,取巧的辦法就是在后臺(tái)模板的“可視化編輯”環(huán)境下按編輯器的響應(yīng)按鈕,根據(jù)提示去獲得函數(shù),也免得記憶參數(shù)排列順序這么費(fèi)勁,同時(shí)隨著版本更新,作者肯定會(huì)保證這個(gè)地方生成的模板代碼是最正確的。

第一個(gè)參數(shù)是表示取多少條具有“頭條”性質(zhì)的圖片新聞。

第二個(gè)參數(shù)是表示是否顯示簡介信息,是在左邊顯示在是在右邊顯示。至于函數(shù)參考中的橫、縱向顯示已經(jīng)作廢,隨著列數(shù)限制的出現(xiàn),單獨(dú)設(shè)置橫向和縱向顯示已經(jīng)沒有意義。

默認(rèn)的情況下似乎代碼沒有什么問題,但是多列的時(shí)候問題還是出現(xiàn)了。假如顯示簡介的話,不同的圖片新聞將會(huì)有不同的高度,而嵌套他們的TD缺少一個(gè)TOP的對(duì)齊指令,使得排列不整齊,如果遇到九宮格式的排版,這種情況越發(fā)嚴(yán)重。解決方法要么是編輯人員控制好簡介字?jǐn)?shù),或者用CSS給這個(gè)位置的TD加上TOP 對(duì)齊屬性。

從這個(gè)標(biāo)簽的應(yīng)用上看,用IWMS設(shè)計(jì)新模板一味追求標(biāo)準(zhǔn)是不現(xiàn)實(shí)的。因?yàn)殪`活性和標(biāo)準(zhǔn)之間很難作出抉擇,在軟件作者設(shè)想到的變化中,用傳統(tǒng)方式解決問題是最簡單的途徑。通過細(xì)讀這個(gè)標(biāo)簽也糾正我過去一個(gè)錯(cuò)誤的感覺,那就是ASPX模板很脆弱,一個(gè)參數(shù)不小心可能就全盤崩潰。其實(shí)用可視化編輯生成的代碼盡管大膽往模板里填,我做的這么多測試還從來沒有發(fā)生嚴(yán)重的錯(cuò)誤。

21、 <%=GetFrameCss(style.CssDayHot,"lframe")%> <%=GetTitlePic(style.PicDayHot,"今日熱門")%>
看過前面解釋的朋友自然能了解這兩個(gè)標(biāo)簽是什么意思了。(見17、18)

22、 <%=TopList("dayhot",8,42,false,false,false,false,false)%>
toplist 是修改改模板中使用最頻繁的一個(gè)函數(shù)了。除了“頭條”,幾乎所有的新聞引用都使用TOPLIST,因此他的變幻也是最豐富的。函數(shù)參考中黑壓壓一片,兩大截都是關(guān)于他的描述。我的建議,為了效率考慮還是使用后臺(tái)的可視化編輯工具產(chǎn)生需要的代碼。然后再查看函數(shù)參考的內(nèi)容。

看到這里,IWMS的神秘感基本消除,看來需要親自修改一個(gè)模板來體會(huì)了。接下來的問題是哪些紛繁復(fù)雜的樣式表了,要找出他們誰是誰、用在哪里、改動(dòng)一個(gè)會(huì)不會(huì)牽扯出其他部位的問題?完全要靠分析CSS語法嵌套。如果考慮到FIREFOX的兼容性,這個(gè)工作量確實(shí)還不小。

下一步準(zhǔn)備建立幾個(gè)“裸奔”的函數(shù)運(yùn)行結(jié)果,然后為裸奔的結(jié)果設(shè)計(jì)樣式,從而更仔細(xì)地研究IWMS的CSS表現(xiàn)設(shè)計(jì)問題。

23、IWMS對(duì)生成的縮略圖執(zhí)行兩個(gè)標(biāo)準(zhǔn)!邦^條標(biāo)題圖片最大寬度”和“標(biāo)題圖片最大寬度”,兩個(gè)實(shí)際生成的尺寸在提交新聞的一瞬間就已經(jīng)決定,日后更改新聞屬性不會(huì)重新生成縮略圖,而是通過前臺(tái)代碼強(qiáng)行放縮。

24、如果大改過模板,那就千萬不要用可視化編輯之后,直接“修改”保存,否則那自作聰明的可視化編輯工具將把模板“自動(dòng)修正”得面目全非,無法執(zhí)行。它只能作為生產(chǎn)代碼的工具,如果他是個(gè)本地執(zhí)行文件,或者DW的插件就好了。

25、對(duì)模板的改動(dòng)不能將html_inc文件中的以下段落去除,否則所有圖片新聞的圖片縮略圖調(diào)用都無法進(jìn)行。
引用內(nèi)容 引用內(nèi)容
<script type="text/javascript">
var thumbWidth=<%=config.TitleImgWidth%>;var thumbHeight=0;
var thumbHWidth=<%=config.HeadlineImgWidth%>;var thumbHHeight=0;
var urlPrefix = "<%=urlPrefix%>";
</script>
<script type="text/javascript" src="<%=urlPrefix%>inc/thumbnail.js"></script>

這樣的一種操作方式實(shí)在很不方便。而要修正這個(gè)問題,IWMS需要?jiǎng)右粍?dòng)代碼的結(jié)構(gòu),換一種思路,將控制圖片大小的任務(wù)交給樣式表去完成裁切顯示。

26、圖片新聞列表中使用了class="thumbnailTitle",卻沒有一個(gè)風(fēng)格的樣式表為他指定了內(nèi)容。

27、 <asp:Literal id="CopyRight" runat="server"/>不僅僅是顯示一個(gè)“IWMS4.5”這么簡單,它還會(huì)把系統(tǒng)設(shè)置中的“底部版權(quán)內(nèi)容”帶進(jìn)來。最好把這段內(nèi)容刪除,否則不好修改底部信息。

28、以上修改后,login.aspx中對(duì)導(dǎo)航的引用也要去除,否則會(huì)導(dǎo)致出錯(cuò)。原因大概是因?yàn)槿鄙倨ヅ涞臇|西。從這個(gè)方面看,在ASPX文件中去除“navClass.aspx”的內(nèi)容,不如把這個(gè)文件改為空文件。嗯,好像越來越復(fù)雜了。

29、\inc、member_reg_statement.inc 這個(gè)文件,是在評(píng)論時(shí)提醒訪問的警示語,可以隨便更改。

30、 <%=GetSortName(8)%>通過ID數(shù)字獲得分類名稱。其中的8,可以改成后臺(tái)存在的任何分類ID。

推薦 】 【 打印
相關(guān)新聞      

本文評(píng)論       全部評(píng)論

發(fā)表評(píng)論
  • 尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
  • 承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
  • 本站管理人員有權(quán)保留或刪除其管轄留言中的任意內(nèi)容
  • 本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用您的評(píng)論
  • 參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款


點(diǎn)評(píng): 字?jǐn)?shù)
姓名:
內(nèi)容查詢