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