淺談CMS標籤設計思路

 
 
在ESCMS 2.0的設計中,最頭痛的還是標籤設計部分..這部分我重寫了N次,在這裏說說標籤設計過程與用戶體驗.

因爲是第一個版本,我並沒有打算生成靜態,原因如下:

ESCMS是面向中小企業網站的小型CMS,生成靜態對效率影響不大,反而會增加工作量.

用戶直接直觀的做頁面,並插入函數就可以調試,在這種小型網站非常實用,這也是1.0的設計思路

 

所以,第一次設計時,我按照1.0的思路設計了以下函數:

前臺在調用時,需要知道函數名稱,比如調用網站名稱

或 新聞列表

<%=newslist(1,"樣式一",23,4,5....)%>

這樣.

然後,在後臺定義一個樣式一,內容如下:

這樣大大增強了函數調用列表的方便性,很方便,很靈活..

 

但後來我覺得,要讓用戶記住這麼一大堆函數,是不可能的,他必須對應一本手冊來邊看邊做..這樣也未嘗不可,但是,我覺得這樣浪費時間,應該減少函數..於是設計了一個F函數來調用字段..

F函數如下設計

function F(cols,pars)

一共兩個參數

第一個來指定我要調什麼,第二個來指定調用的參數..

這樣一來,所有的單個字段的調用,全解決了,基本上還能用中文或者任何簡寫,如

=F("網站名稱",0)  或 =F("wn",0)  或 =F("webname",0)

=F("欄目說明",20)

=F("發表日期",6)

來指定不同的調用,基本上整站通用..而且用戶可以加入自己可以記住的簡寫,這樣基本上能解決所有喜歡自定義的用戶了.

那列表多參數的怎麼辦呢?

沒關係,

=F("新聞列表","樣式一,20,3,4,56,6")  或=F("newlist","樣式一,20,,4,56,6")

還可以不用寫默認的參數值,基本不用記什麼..不知道的全留空..

這樣就解決了多參數的問題..整站用F函數就搞定了..

 

但是,還有個問題..如果想不讓用戶記這些多參數怎麼辦呢?(靠,誰這麼懶?)

算了,誰讓咱是設計產品呢,那就簡化了吧..

前臺肯定是沒法處理了,就留給後臺樣式管理..

 

用戶添加 樣式一 ,在選擇類型的時候,選擇新聞列表,則自動列表參數設置,如欄目,條數等..這樣,用戶連欄目的ID也不用去找了..後臺添加新聞列表樣式就可以.

調用

F("自定義","新聞列表樣式一")

是不是更方便了呢?

 

sorry,兄弟,你當我白癡呢,我就喜歡用前臺參數...後臺定義的我不喜歡,前臺後臺,轉來轉去麻煩!! 這位大哥生氣了..

另外一位也生氣了..我調用個網站名稱還要設置一個長度參數?我就想要一個參數..

 

好吧,你不喜歡就不要定義吧,繼續留在前臺..於是,前臺設計思路就成這樣了

F("網站名稱")

F("網站名稱$20")

F("新聞標題$20")

F("新聞列表樣式一$1,2,3,3,4,,5")

啊哦...好了,你想在後臺定義就在後臺定義,想在前臺定義就在前臺定義,想不寫就不寫...現在總可以了吧?

怎麼實現呢?  這些標籤 都是在後臺可以自定義的..但是參數可以在調用的時候重置.如F("標題$20")可以用我後臺定義了標題的樣式,長度爲10,但我前臺調用的時候,可以重置爲20,新聞列表可能我後臺定義了20條,但前臺兩個地方使用的時候不一樣,那我就分兩次調用,加上不同的參數就可以..不加參數就以後臺設置爲主,後臺沒設置?那就給一個默認值..

 

標籤的設計,最後都歸到一個函數中去了...這樣簡化了很多繁煩的事情..

ESCMS是ASP寫的,但標籤的思路卻不侷限於ASP,而適用於所有的CMS設計中..

在下個版本中,生成靜態,用戶可以直接把原來的ASP文件放在templates文件夾下,改下後綴(也可以不改),就可以實現模板了,直接生成..因爲,我的模板中 <%=F("..")%> 是書寫標籤的一種方式,另外,爲了更友好,生成靜態中,標籤也可以 {es[網站名稱]} 或 {es[網站名稱,20]} 來寫..其實,方便程度是一樣的..

 

另外,談一種廢棄的我認爲很好的標籤思路:

=F("新聞列表一$樣式:橫向一,條數:20,標題字數:20,摘要:30,分頁:是")

這樣的寫法..實際上我認爲是很好的,但我的用戶反對,說這樣書寫不方便,還不如直接記參數,想想也對,用熟練的話,

1,20,30 這樣的數字很容易看出來,哪個對應哪個,再多寫一個條數啊,標題啊,倒不方便了..於了,放棄了該方法

 

不過,該版本暫未發佈,僅在QQ羣19429815提供測試版本下載,希望能一起學習,進步

 

 ESCMS下個版本基於ASP.net MVC的

 

隨便寫的,請指教..
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章