SiteMateCMS開源項目
一、概述
(一)SiteMate,以CMS為起步,但超越CMS的概念設計,傳承ASP.NET的優(yōu)秀設計理念,延展ASP.NET的應用框架。
(二)支持網站集群。
(三)支持部署手機網站。
二、智能模板系統(tǒng):
(一)系統(tǒng)將全站節(jié)點定義為五種:
1、全站首頁【home】
2、欄目首頁【index】
3、節(jié)點頁【node】
4、列表頁【list】
5、內容頁【view】
(二)根據節(jié)點類型,系統(tǒng)自動識別欄目類型,匹配對應模板。
1、非最終節(jié)點。匹配node或index類型模板,如果為節(jié)點指定index模板,則最優(yōu)先匹配。
2、最終節(jié)點。如節(jié)點下只有一條內容,匹配view模板,否則匹配list模板。
(三)根據節(jié)點層次關系,系統(tǒng)自動繼承模板,不需要指定每個節(jié)點的模板。
(四)支持aspx和ascx兩種文件類型的模板。
三、標簽簡述【智能提示,完全不用記標簽】:
(一)使用.net自帶的標簽解析引擎,使腳本解析效率保持為最優(yōu)。
(二)簡單的標簽設計,智能化提示。如圖:
(三)循環(huán)可【】無限嵌套,而不需要任何服務端代碼編寫。
(四)沿用asp.net服務端標簽的所有用法。
(五)豐富的參數選擇,靈活的數據調用。
四、開發(fā)環(huán)境和工具:
(一).Net Framework 4.x
(二)SQLSERVER 2005或以上版本
(三)Visual Studio 2010或以上版本
(四)Entity Framework 6.x
(五)JeasyUI 4.x
(六)KindEditor 4.x
五、SiteMate產品線
(一)CMS【含多模型:新聞、產品、軟件下載、視頻、相冊等】
(二)BBS
(三)留言板
(四)產品庫/商城
(五)博客
(六)知識庫
六、實例(部分說明)
(一)多重嵌套
(1)全站地圖
(2)多重節(jié)點菜單
(3)多重節(jié)點樹
(二)Index屬性
示例:<x:cms Index="?" Rows="12"><%# Eval("NodeTitle")%></x:cms>
1、調用當前節(jié)點:Index的值設定為空【此為默認值】。
2、調用頂級節(jié)點:Index的值設定為0,如Index="0"。
3、調用單個節(jié)點:如Index="6"。
4、調用多個節(jié)點:如Index="1,3,5,6,8"。
5、調用某個ID段:如Index="6-8,12-18",或Index="1,8-"(代表調用ID=1和ID=8及以后的節(jié)點)。
(三)Level屬性:
<x:cms Levle="Default|Lower|Lowers|Upper|Uppers|Like|Likes" Rows="12"><%# Eval("NodeTitle")%></x:cms>
Default:調用當前節(jié)點ID【此為默認值】。
Lower:調用當前節(jié)點的下一級ID。
Lowers:調用當前節(jié)點的下N級ID。
Upper:調用當前節(jié)點的上一級ID。
Uppers:調用當前節(jié)點的上N級ID[可用于網站中的“當前位置”]。
Like:顯示同級的所有節(jié)點。
Near:顯示左右節(jié)點(左右節(jié)點的個數由RowsLeft和RowsRight決定)。
(四)Type屬性:
Parent|Node|Info
(五)Sort屬性,可按多個關鍵字進行排序。如:
<x:cms id="2" Plug="Group" Level="Lower">
<SortItems>
<x:SortItem Name="SortId" Method="Desc" />
<x:SortItem Name="PkId" Method="Asc" />
</SortItems>
<ItemTemplate>
<%# Eval("NodeTitle")%>
</ItemTemplate>
</x:cms>
七、嵌套示例:
<x:cms id="2"Plug="Group"Level="Lower">
<ItemTemplate>
<a href="<%# Eval("NodeHref")%>"><%# Eval("NodeTitle")%></a>
</ItemTemplate>
<x:cms Level="Lower"Keys="NodeId">
<ItemTemplate>
<%# Eval("NodeTitle")%>
</ItemTemplate>
<x:cms Level="Lower"Keys="NodeId"Rows="5">
<ItemTemplate>
<%# Eval("NodeTitle")%>
</ItemTemplate>
</x:cms>
</x:cms>
</x:cms>
