gpt4 book ai didi

orchardcms - Orchard CMS 与 Migrations.cs 中定义的 MediaPickerField 配合使用

转载 作者:行者123 更新时间:2023-12-02 14:49:08 25 4
gpt4 key购买 nike

MediaPickerFields 仍然让我困惑。

我在 Migrations.cs 中定义了一个新部件,并向该部件添加了一个 Boolean 列和一个 MediaPickerField ,如下所示:

SchemaBuilder.CreateTable("ImageContentPartRecord", table =>
table.ContentPartRecord()
.Column("DisplayImage", DbType.Boolean));

ContentDefinitionManager.AlterPartDefinition("ImageContentPart", builder =>
builder
.Attachable()
.WithField("ImageField", fld =>
fld.OfType("MediaPickerField")
.WithDisplayName("Image")));

假设我有 ImageContentPartImageContentPartRecord 类,如何从驱动程序中的 MediaPickerField(url、尺寸、替代文本、类等)检索数据在我的零件模板中(编辑/显示)?

即- Parts.ImageContent.cshtml(我想完成这样的事情):

<div>
<img src="@Model.ImageField.Url" alt="@Model.ImageField.Alt" />
</div>

有什么想法吗?

最佳答案

解决方案如下:

在我的显示驱动程序方法中,我确保在构建 ContentShape 时传递我的 ImageContentPart(part):

return ContentShape("Parts_ImageContent", () =>
shapeHelper.Parts_ImageContent(
Content: part));

然后在我的模板 View 中,我利用 Orchard 架构的动态特性来使用我的 MediaPickerField。为此,您需要访问部件上的 .ContentItem 属性,然后根据动态情况,链接部件名称 (.ImageContentPart),然后链接字段名称 ( .ImageContent)来访问该字段。

@{
// Attempting to access MediaPickerField named 'ImageContent'
var image = Model.Content.ContentItem.ImageContentPart.ImageContent;

// Leaning on Orchard dynamics to access properties of the field
var url = image.Url;
}

<img src="@url" alt="@T(image.AlternateText)" />

以下是 \\Orchard.Fields\Views\Fields\MediaPicker.cshtml 中 MediaPickerField 属性的详尽列表:

@* 
Alternate Text: @Model.ContentField.AlternateText
Class: @Model.ContentField.Class
Style: @Model.ContentField.Style
Alignment: @Model.ContentField.Alignment
Width: @Model.ContentField.Width
Height: @Model.ContentField.Height
Url: @Model.ContentField.Url


You can also display an image using this example, and add the attributes you need:
<img src="@Href(Model.ContentField.Url)" />
*@

希望,如果您偶然发现类似的问题,这会对您有所帮助!

关于orchardcms - Orchard CMS 与 Migrations.cs 中定义的 MediaPickerField 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11724335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com