Orchard:在ShapeTableProvider ShapeTableBuilder中为形状添加包装器

时间:2016-10-24 16:28:35

标签: orchardcms

我有一个名为Account_UserDetails的形状,我试图添加某种包装器,因为它只是显示为一堆LI。我需要一个围绕形状的包装来更好地控制它(如UL)。我尝试了以下但它似乎根本没有在浏览器中显示。我做错了什么?

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Orchard.DisplayManagement.Descriptors;

namespace Onestop.Themes.LOEH
{
    public class ShapeDataProvider : IShapeTableProvider
    {
        public void Discover(ShapeTableBuilder builder)
        {
            builder.Describe("Account_UserDetails").OnDisplaying(context => {
            context.Shape.Wrappers.Add("ul");
            });
        }
    }
}

1 个答案:

答案 0 :(得分:1)

Orchard中的Wrappers是形状,您可以按如下方式添加它们:

builder.Describe("Account_UserDetails").OnDisplaying(context => {
    context.Shape.Metadata.Wrappers.Add("Account_UserDetails_Wrapper");
});

然后您应该将包装器形状添加为Account_UserDetails_Wrapper.cshtml

<div>
    @DisplayChildren(Model)
</div>

如果您需要有关包装的更多信息,请参阅此link