使用 IShapeTableProvider 覆盖形状
Override a shape using IShapeTableProvider
我想覆盖此路径中的 Container.cshtml
视图:Orchard.Core\Containers(folder)\Views\EditorTemplates\Container.cshtml
我在这条路上的看法:
MyModule\Views\EditorTemplates\MyContainer.cshtml
现在!,我为此实现了 IShapeTableProvider
接口:
public class MyShapeProvider : IShapeTableProvider
{
public void Discover(ShapeTableBuilder builder)
{
builder.Describe("Container")
.OnDisplaying(displaying =>
{
displaying.ShapeMetadata.Alternates
.Add("Container_MyContainer");
});
}
}
代码是在项目开始时调用的,但是不要运行它!
对不对?
感谢您的帮助!
为了让您的模块优先,您必须依赖要覆盖的模块 module.txt:
Dependencies: Containers
这样您就可以让 Orchard 知道您想要使用该模块的功能,并且您可以覆盖它。
我想覆盖此路径中的 Container.cshtml
视图:Orchard.Core\Containers(folder)\Views\EditorTemplates\Container.cshtml
我在这条路上的看法:
MyModule\Views\EditorTemplates\MyContainer.cshtml
现在!,我为此实现了 IShapeTableProvider
接口:
public class MyShapeProvider : IShapeTableProvider
{
public void Discover(ShapeTableBuilder builder)
{
builder.Describe("Container")
.OnDisplaying(displaying =>
{
displaying.ShapeMetadata.Alternates
.Add("Container_MyContainer");
});
}
}
代码是在项目开始时调用的,但是不要运行它!
对不对?
感谢您的帮助!
为了让您的模块优先,您必须依赖要覆盖的模块 module.txt:
Dependencies: Containers
这样您就可以让 Orchard 知道您想要使用该模块的功能,并且您可以覆盖它。