自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Orchard中寫一個Widget案例

移動開發(fā)
在Orchard中寫一個Widget案例是本文要介紹的內(nèi)容,主要是來了解并學(xué)習(xí)Widget應(yīng)用方法,具體內(nèi)容的實(shí)現(xiàn)來看本文詳解。

在Orchard中寫一個Widget案例是本文要介紹的內(nèi)容,本文在以前所創(chuàng)建的產(chǎn)品模塊基礎(chǔ)上,擴(kuò)展了一個可以顯示***發(fā)布產(chǎn)品的Widget。通過此示例講解Widget的一些相關(guān)概念和開發(fā)Widget的基本步驟。關(guān)于產(chǎn)品模塊示例的介紹請點(diǎn)擊這里。

什么是Widget

Widget就是小部件的意思。是一個可重用的UI塊,它可以部署到網(wǎng)站的任意區(qū)域(Zone)中。如網(wǎng)頁上常見的標(biāo)簽云、快速搜索,***博文,博文日歷等等這些都可以做成小部件的形式來豐富頁面的布局。

需求分析

本例要實(shí)現(xiàn)一個能在首頁顯示***發(fā)布的N條產(chǎn)品的功能。根據(jù)這個需求,我們至少需要有兩個畫面來完成這個功能,一是在添加Widget的時候可以設(shè)置顯示***的條數(shù)的畫面,另外一個就是顯示***N條產(chǎn)品的畫面。

創(chuàng)建內(nèi)容部件

首先我們需要創(chuàng)建一個內(nèi)容部件。因?yàn)樵贠rchard中內(nèi)容的組織都是以內(nèi)容部件為單位的,Widget也不例外。這個內(nèi)容部件需要完成以下功能:

1、存取***顯示條數(shù)的設(shè)置;

2、顯示***N條數(shù)據(jù)。

和以前創(chuàng)建產(chǎn)品內(nèi)容部件一樣,我們需要創(chuàng)建一個數(shù)據(jù)模型(RecentProductsPartRecord),用于存儲***顯示條數(shù)的設(shè)置。還需要創(chuàng)建一個RecentProductsPart,同時還需要創(chuàng)建這個part的處理器(RecentProductsPartHandler)和驅(qū)動器(RecentProductsPartDriver),也當(dāng)然需要創(chuàng)建這個Part的編輯視圖和顯示視圖,同時我們也需要在Placement.info文件中注冊新添加部件的一些信息。

這些步驟和代碼都類似于創(chuàng)建產(chǎn)品部件時的代碼,大家可以在本示例代碼下載中查看。有一點(diǎn)需要注意的是這個部件的顯示并不是顯示***N條的設(shè)置,而是需要顯示***N條產(chǎn)品。

將內(nèi)容部件轉(zhuǎn)成一個Widget

要將內(nèi)容部件定義為一個Widget,需要在數(shù)據(jù)庫安裝文件中指定相應(yīng)的代碼來實(shí)現(xiàn)。我們打Migrations.cs文件,在原有的基礎(chǔ)上添加一個UpateFrom1的方法表示這個模塊需要升級,輸入以下代碼:

  1. public int UpdateFrom1()  
  2.         {  
  3.             //創(chuàng)建一個表存儲設(shè)置***多少條數(shù)據(jù)  
  4.             SchemaBuilder.CreateTable("RecentProductsPartRecord", table => table  
  5.                 .ContentPartRecord()                              
  6.                 .Column<int>("Count")                        //產(chǎn)品價格  
  7.             );  
  8.  
  9.             //定義一個Widget  
  10.             ContentDefinitionManager.AlterTypeDefinition("RecentProducts", cfg => cfg  
  11.                 .WithPart("RecentProductsPart")  
  12.                 .WithPart("WidgetPart")  
  13.                 .WithPart("CommonPart")  
  14.                 .WithSetting("Stereotype", "Widget"));  
  15.  
  16.             return 2; 

在定義一個Widget的時候需要結(jié)合需要變成Widget的部件和WidgetPart部件以及CommonPart部件,并且需要設(shè)置此類型的屬性為Widget。

部署Widget

通過上面幾個簡單的步驟,一個Widget就完成了。首先我們用管理登錄管理后臺,一進(jìn)入后臺我們就可以看見有模塊需要升級的提醒。

點(diǎn)擊升級產(chǎn)品模塊

升級完成后進(jìn)入控制后臺的Widgets菜單,并選擇當(dāng)前層為TheHomePage(表示只在首頁顯示),然后在AsideFirst上點(diǎn)擊添加。選擇我們剛剛創(chuàng)建的RecentProducts小部件。

Title屬性是小部件的標(biāo)題,我們可以輸入RecentProducts,Count屬性就是需要顯示的記數(shù)了,我們輸入2。保存后回到前臺網(wǎng)站的首頁就能看見效果了。

 

 

小結(jié):在Orchard中寫一個Widget案例的內(nèi)容介紹完了,希望通過Widget應(yīng)用內(nèi)容的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 博客園
相關(guān)推薦

2011-09-08 13:41:53

Widget

2021-06-26 16:24:21

Linux命令系統(tǒng)

2011-09-07 14:20:42

Android Wid組件

2021-09-08 08:36:50

ncursesLinux猜謎游戲

2023-03-15 09:00:43

SwiftUISlider

2010-09-16 15:57:00

PPPoA配置

2015-06-02 04:13:23

Python乒乓球類游戲

2011-09-07 16:43:38

Qt Widget

2015-08-06 13:44:21

swiftcocoapods

2021-01-04 09:12:31

集合變量

2022-02-10 22:34:51

對象JVM收集器

2023-02-07 10:40:30

gRPC系統(tǒng)Mac

2017-08-17 14:38:39

JavaAbstract抽象

2023-04-10 14:20:47

ChatGPTRESTAPI

2014-05-26 09:13:46

DockerPython

2020-09-29 07:24:14

Python字典數(shù)據(jù)

2011-03-15 16:07:33

Windows AzuWCF

2019-11-13 15:14:31

MySQL事務(wù)數(shù)據(jù)庫

2014-07-21 10:25:12

ENode開發(fā)論壇

2017-06-20 12:48:55

React Nativ自定義模塊Note.js
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號