Sitefinity除了提供Library讓使用者開發外,系統還提供wcf webservice。
以"pagesservice.svc"為例:
網址會回傳json檔,以下實作jquery取得json。
結果:
Sitefinity除了提供Library讓使用者開發外,系統還提供wcf webservice。
以"pagesservice.svc"為例:
網址會回傳json檔,以下實作jquery取得json。
結果:
參考影片: sitefinity官網
自訂模組的功能需要特定權限才可以進行開發。
在settings中,有自訂模組的功能,定義模組(usercontrol)的路徑。
設定好模組後,在頁面設定的功能,Custom下就可以選到自定義的模組。
Demo:
後臺內容管理:
專案架構如下,專案下產生兩個報表(父報表與子報表)。
新增TypedDataSet(Ex:dsReport.xsd),範例定義如下。
在myReport.rdlc報表中,設定資料集屬性。
在myReport.rdlc報表中,新增子報表。
在myReport.rdlc報表中,設定[子報表屬性]。
設定要傳給子報表的參數。
在mySubReport.rdlc報表中,設定資料集屬性。
在mySubReport.rdlc報表中,設定參數,參數名稱要和[子報表參數]設定一致(EX:OrderID)。
程式部分:
打包:下載
VS2010在寫報表時,因為有同時使用NPOI。
結果在編輯報表時,加入[資料表]時,整個專案就關掉了。
錯誤是發生在選擇資料集(加入資料表會去選資料集)的時候。
查了一下Google發現有相同的問題
簡易解法:
WinForm在做輸入法切換時常發生錯誤。
Google了一下
寫個FormBase讓視窗繼承:
#region 解決輸入法BUG
//解決輸入法BUG
[DllImport("imm32.dll")]
public static extern IntPtr ImmGetContext(IntPtr hwnd);
[DllImport("imm32.dll")]
public static extern bool ImmSetOpenStatus(IntPtr himc, bool b);
protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
IntPtr HIme = ImmGetContext(this.Handle);
ImmSetOpenStatus(HIme, true);
}
#endregion
private void InitializeComponent()
{
//停用IMEMODE
this.ImeMode = System.Windows.Forms.ImeMode.Off;
}
安裝好系統後,進入系統內(http://localhost/SitefinityCMS/Sitefinity/)。
系統會要求輸入帳號密碼(系統安裝時設定的管理者帳號密碼)
進入後,先看看Pages上的設定。
因為尚未建立任何頁面,所以畫面上出現了大大的Create a Page字樣。
設定Page的資訊。
若已建立頁面,則會出現管理清單。
在Actions功能中,可以設定頁面的相關資訊,如設為首頁,新增子頁等。
如建立好子頁,架構會如下圖所示,此時便可點擊view預覽。
整個系統的網址定義以Company為例(http://localhost/SitefinityCMS/about/company),
是有階層性的。
在此頁面也可以透過拖曳,來建立階層的關係。
進入頁面編輯的介面,左方為編輯區,右方為功能區。
加入widget(模組),可將功能區的widget功能拖曳至編輯區。
Layout可以讓使用者定義與更換。
內容功能區列表:功能很多,彈性很大。
編輯完成,選擇publish發佈。
此時輸入(http://localhost/SitefinityCMS/),便可以瀏覽到頁面。
此時若帳號還在登入的狀態時,頁面上可以看到Tools的功能按鍵,裡面可以設定是否顯示編輯按鈕。
這樣就可以在前台瀏覽時,直接點編輯進入修改,不須進入後台。
在後台頁籤中,Content頁籤主要就是在建立模組的內容,在此以新聞Content為例。
建立新聞的內容。
建立完成後,在後台加入News模組,就可以簡單的預覽到剛剛建立好的新聞。
而新聞模組也可以再設定顯示的條件,設定上面很有彈性。