爲尋找一個答案的利益question-
因爲我是創建一個配方,我能夠通過添加下面的XML到配方的元素來達到同樣的效果:
<WinnersFeedWidget Id="/Identifier=WinnersFeed" Status="Published">
<WinnersFeedPart NumberOfWinnersToShow="15" SkinName="Blue"/>
<CommonPart Owner="/User.UserName=OrchardAdmin" Container="/Layer.LayerName=Default" CreatedUtc="2012-11-20T17:08:00Z" PublishedUtc="2012-11-20T17:08:00Z" ModifiedUtc="2012-11-20T17:08:00Z" />
<WidgetPart Title="Recent Winners" Position="2" Zone="AsideSecond" RenderTitle="true" />
</WinnersFeedWidget>
在這種情況下,WinnersFeedPart是部件名稱。
我也不得不更新我的驅動程序替換爲導入和導出類(允許導出功能,以便能夠正確地生成所需的XML):
protected override void Exporting(WinnersFeedPart part, ExportContentContext context)
{
context.Element(part.PartDefinition.Name).SetAttributeValue("NumberOfWinnersToShow", part.NumberOfWinnersToShow);
context.Element(part.PartDefinition.Name).SetAttributeValue("SkinName", part.SkinName);
}
protected override void Importing(WinnersFeedPart part, ImportContentContext context)
{
part.NumberOfWinnersToShow= GetIntegerValue(part, context, "NumberOfWinnersToShow");
part.SkinName= context.Attribute(part.PartDefinition.Name, "SkinName");
}
(GetIntegerValue是轉換一個helper方法由進口商提供給int的值)
對於這個工作的一個很好的例子,我會建議從Gallery中下載Featured Item Slider模塊,並查看他們的Driver類。
您可能需要編寫自己的命令。 –
謝謝伯特蘭。爲了達到這個目的,我看了一下擴展Orchard命令行工具,但是想知道是否有一個我忽略的開箱即用的解決方案。 –