在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的
隨便寫的,請指教..