【问题标题】:Can Wrappers in Orchard CMS have alternates?Orchard CMS 中的 Wrappers 可以有替代品吗?
【发布时间】:2011-08-11 13:23:48
【问题描述】:

我很好奇我能否以某种方式使 Widget.Wrapper 形状(或其他包装器)可替换,因为它包含大多数小部件的 HTML 代码。我不喜欢 cshtml 文件中丰富的 IF 语句,因此我宁愿使用使用替代机制的清晰解决方案 - 能够创建像这样的替代:

Widget.Wrapper-[ZoneName].cshtml
Widget.Wrapper-[WidgetId].cshtml
Widget.Wrapper-url-[UrlAlternate].cshtml

等等

这可能吗?或者包装器是一个特例 - 在那种情况下为什么?

谢谢

【问题讨论】:

    标签: content-management-system orchardcms shapes


    【解决方案1】:

    是的,这是可能的。 您可以使用 IShapeTableProvider 来完成。 捕捉你的小部件呈现的形状,决定你想要的包装器,然后添加一个新的包装器。

    builder.Describe("YourShapeHere")
        .OnDisplaying(displaying=>{
            displaying.ShapeMetadata.Wrappers.Add("Widget_Wrapper-" + displaying.Shape.Id);
        }
    }
    

    【讨论】:

    • 这不完全是替代品(因为不,没有替代包装器),它只是添加一个新的包装器,它不会删除现有的包装器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多