目錄
目錄X
[SF2.0版新功能揭秘]Widget的應(yīng)用介紹
在上一篇的SiteFactory? CMS 2.0 預(yù)覽中曾提到 Widget ,今天我將接著為大家?guī)泶朔矫娴慕榻B。Widget 在“我的工作臺”的應(yīng)用,將SiteFactory? CMS 1.0版本中“固死”的模塊“激活”起來。由原先動易自身開發(fā)轉(zhuǎn)變?yōu)榇蠹覅⑴c的平臺式開發(fā),這也是SiteFactory? 進一步融入開源精神的體現(xiàn)方式了。
下圖為系統(tǒng)默認“我的工作臺”中顯示的widget,圖中紅框標(biāo)注1、2、3、4、5、6、7的位置,顯示的就是一個個獨立的widget模塊,可以通過拖拽、關(guān)閉和編輯排列他們的位置或者顯示的內(nèi)容。
Widget(中文名:微巨)簡單的說是一個功能應(yīng)用的開放式平臺,它的應(yīng)用包括:桌面Widget (Yahoo! Widget、魚魚桌面秀等)、個性化首頁Widget(igoogle)、博客Widgets(抓蝦RSS、博客側(cè)邊欄等)。Widget 的優(yōu)點是“軟件模塊化”和“易擴展性”便于個性化界面;在SiteFactory? CMS 2.0 中可以為“我的工作臺”添加各種基于系統(tǒng)或者系統(tǒng)外的功能應(yīng)用,如:待處理訂單、歡迎界面、主題更換、訂閱RSS等。目前系統(tǒng)已經(jīng)預(yù)設(shè)了11種widget模塊,且后臺的所有widget模塊都可以在 Controls\Widgets 目錄下找到,如圖:
制作Widget需要擁有一定的編程基礎(chǔ)(不會?沒關(guān)系,動易官方會定期推出一些實用的Widget模塊;同樣,開放式的開發(fā)平臺也將會涌現(xiàn)出一批非常好的Widget模塊,因此,并不需要著急 :)),排除了技術(shù)層面的東西,制作Widget就非常簡單了,只要建立一個目錄,用戶控件命名為:widget.ascx (不可自定義),后臺就能自動讀取控件的相關(guān)信息。
下面給大家介紹一下Widget的制作演示:以制作“用于讀取某網(wǎng)站RSS 信息的標(biāo)題和列表”widget模塊為例。
首先,建立一個用戶控件命名為“widget.ascx”(這個命名是固定的,不可以自定義):
前臺代碼如下:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MYRSS.ascx.cs" Inherits="MYRSS" %>
<div runat="server" id="Content">
</div>
后臺代碼如下:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.IO;
using System.Data;
using System.Xml;
public partial class MYRSS : PowerEasy.SiteFactory.Web.UI.BaseWidget
{
protected void Page_Load(object sender, EventArgs e)
{
WebClient client = new WebClient();
using (Stream rss = client.OpenRead(";))
{
StreamReader reRss = new StreamReader(rss, System.Text.Encoding.Default);
string RssString = reRss.ReadToEnd();
XmlDocument doc = new XmlDocument();
doc.LoadXml(RssString);
XmlNodeList nodelist = doc.SelectNodes("http://channel/item");
string Content = string.Empty;
int i = 0;
foreach (XmlNode node in nodelist)
{
if (i > 10)
break;
Content+="<a href=" + node.ChildNodes[1].InnerText + " target=_brank>" + node.ChildNodes[0].InnerText+"</a><br />";
i++;
}
Content.InnerHtml = MYContent;
}
}
}
得到如下兩個用戶控件文件:
然后,新建立一個目錄名為:MYRSS(名稱可自定義),將上述兩個文件放進此目錄中
隨后,把“MYRSS文件夾”目錄放在Controls\Widgets 目錄下,如下圖:
最后,重新進入網(wǎng)站后臺,進入到“我的工作臺”就會發(fā)現(xiàn)系統(tǒng)已經(jīng)自動檢索到了剛才新添加的Widget模塊:
同樣,會發(fā)現(xiàn)后臺多了一個widget模板,再添加到左內(nèi)容中,顯示效果如下:
到此,一個widget模塊就添加完成了,簡單吧?但是值得注意的是:控件類一定要繼承PowerEasy.SiteFactory.Web.UI.BaseWidget ,編寫測試時可用 System.Web.UI.UserControl 代替。
總之,Widget可以讓用戶更多自定義,更多個性化設(shè)置,讓用戶可以在不需要了解源代碼的情況下編寫個性插件,讓我們拭目以待吧。
下圖為系統(tǒng)默認“我的工作臺”中顯示的widget,圖中紅框標(biāo)注1、2、3、4、5、6、7的位置,顯示的就是一個個獨立的widget模塊,可以通過拖拽、關(guān)閉和編輯排列他們的位置或者顯示的內(nèi)容。
Widget(中文名:微巨)簡單的說是一個功能應(yīng)用的開放式平臺,它的應(yīng)用包括:桌面Widget (Yahoo! Widget、魚魚桌面秀等)、個性化首頁Widget(igoogle)、博客Widgets(抓蝦RSS、博客側(cè)邊欄等)。Widget 的優(yōu)點是“軟件模塊化”和“易擴展性”便于個性化界面;在SiteFactory? CMS 2.0 中可以為“我的工作臺”添加各種基于系統(tǒng)或者系統(tǒng)外的功能應(yīng)用,如:待處理訂單、歡迎界面、主題更換、訂閱RSS等。目前系統(tǒng)已經(jīng)預(yù)設(shè)了11種widget模塊,且后臺的所有widget模塊都可以在 Controls\Widgets 目錄下找到,如圖:
制作Widget需要擁有一定的編程基礎(chǔ)(不會?沒關(guān)系,動易官方會定期推出一些實用的Widget模塊;同樣,開放式的開發(fā)平臺也將會涌現(xiàn)出一批非常好的Widget模塊,因此,并不需要著急 :)),排除了技術(shù)層面的東西,制作Widget就非常簡單了,只要建立一個目錄,用戶控件命名為:widget.ascx (不可自定義),后臺就能自動讀取控件的相關(guān)信息。
下面給大家介紹一下Widget的制作演示:以制作“用于讀取某網(wǎng)站RSS 信息的標(biāo)題和列表”widget模塊為例。
首先,建立一個用戶控件命名為“widget.ascx”(這個命名是固定的,不可以自定義):
前臺代碼如下:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MYRSS.ascx.cs" Inherits="MYRSS" %>
<div runat="server" id="Content">
</div>
后臺代碼如下:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.IO;
using System.Data;
using System.Xml;
public partial class MYRSS : PowerEasy.SiteFactory.Web.UI.BaseWidget
{
protected void Page_Load(object sender, EventArgs e)
{
WebClient client = new WebClient();
using (Stream rss = client.OpenRead(";))
{
StreamReader reRss = new StreamReader(rss, System.Text.Encoding.Default);
string RssString = reRss.ReadToEnd();
XmlDocument doc = new XmlDocument();
doc.LoadXml(RssString);
XmlNodeList nodelist = doc.SelectNodes("http://channel/item");
string Content = string.Empty;
int i = 0;
foreach (XmlNode node in nodelist)
{
if (i > 10)
break;
Content+="<a href=" + node.ChildNodes[1].InnerText + " target=_brank>" + node.ChildNodes[0].InnerText+"</a><br />";
i++;
}
Content.InnerHtml = MYContent;
}
}
}
得到如下兩個用戶控件文件:
然后,新建立一個目錄名為:MYRSS(名稱可自定義),將上述兩個文件放進此目錄中
隨后,把“MYRSS文件夾”目錄放在Controls\Widgets 目錄下,如下圖:
最后,重新進入網(wǎng)站后臺,進入到“我的工作臺”就會發(fā)現(xiàn)系統(tǒng)已經(jīng)自動檢索到了剛才新添加的Widget模塊:
同樣,會發(fā)現(xiàn)后臺多了一個widget模板,再添加到左內(nèi)容中,顯示效果如下:
到此,一個widget模塊就添加完成了,簡單吧?但是值得注意的是:控件類一定要繼承PowerEasy.SiteFactory.Web.UI.BaseWidget ,編寫測試時可用 System.Web.UI.UserControl 代替。
總之,Widget可以讓用戶更多自定義,更多個性化設(shè)置,讓用戶可以在不需要了解源代碼的情況下編寫個性插件,讓我們拭目以待吧。
用戶登錄
還沒有賬號?
立即注冊