man*_*dea 2 admin orchardcms orchardcms-1.7 orchardcms-1.8
我正在为 Orchard CMS 做一个自定义主题。
作为客户项目的一部分,要求之一是在博客管理页面中具有一些额外的功能。在 Parts.Blogs.BlogPost.ListAdmin.cshtml 中做一些简单的更改非常容易
我不想更改博客源代码,我想覆盖主题中的 wiew,就像我在前端处理所有其他人一样。
按照在果园论坛上找到的一些指南,我尝试了以下路径:
~/Themes/MyTheme/Views/Parts.Blogs.BlogPost.ListAdmin.cshtml
~/Themes/MyTheme/Views/Orchard.Blogs/Parts.Blogs.BlogPost.ListAdmin.cshtml
~/Themes/MyTheme/Views/Dashboard/Admin/Parts.Blogs.BlogPost.ListAdmin.cshtml
Run Code Online (Sandbox Code Playgroud)
但观点没有被采纳。
那么,如何覆盖我的主题中将由管理仪表板而不是默认视图选择的视图?
谢谢
您需要使用项目文件创建一个主题,然后添加一个包含以下内容的 .cs 文件:
public class AdminOverride : IThemeSelector
{
public ThemeSelectorResult GetTheme(RequestContext context)
{
if (AdminFilter.IsApplied(context))
{
return new ThemeSelectorResult { Priority = 111, ThemeName = "NewAdminTheme" };
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
不要将此主题设置为当前主题,只需从后端启用它即可。您还需要将 TheAdmin 设置为 Theme.txt 中的基本主题,如下所示:
BaseTheme: TheAdmin
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1168 次 |
最近记录: |