开发部件

部件,是页面上可以重用的块,他能够附加到页面上的任意位置。

创建元件

首先,我们需要创建元件。请查看创建元件那一章,创建Map元件。

将元件转换为部件

在Migrations.cs文件中,我们添加UpdateFrom1方法,加入部件的定义:

using System.Data;

using Maps.Models;

using Orchard.ContentManagement.MetaData;

using Orchard.Core.Contents.Extensions;

using Orchard.Data.Migration;

 

namespace Maps

{

public class Migrations : DataMigrationImpl

{

public int Create()

{

// Creating table MapRecord

SchemaBuilder.CreateTable("MapRecord", table => table

.ContentPartRecord()

.Column("Latitude", DbType.Single)

.Column("Longitude", DbType.Single)

);

 

ContentDefinitionManager.AlterPartDefinition(typeof(MapPart).Name, cfg => cfg

.Attachable());

 

return 1;

}

 

public int UpdateFrom1()

{

// Create a new widget content type with our map

ContentDefinitionManager.AlterTypeDefinition("MapWidget", cfg => cfg

.WithPart("MapPart")

.WithPart("WidgetPart")

.WithPart("CommonPart")

.WithSetting("Stereotype", "Widget"));

 

return 2;

}

}

}

我们定义了MapWidget部件,包含了MapPart元件、WidgetPart元件和CommonPart元件,将stereotype属性设置为widget。

创建部件有两点要注意:

  1. 要附加WidgetPart元件。
  2. 将stereotype属性设置为widget。

显示部件

创建新的部件以后,我们在后台的部件管理页面,就可以添加了:

posted @ 2015-09-10 15:40  争世不悔  阅读(83)  评论(0编辑  收藏  举报