Blazor UI:基础主题
基础主题是专为Blazor UI实现的主题方案。这是一个极简风格的主题,在原生 Bootstrap 框架基础上未添加任何额外样式。您可以将基础主题作为底层主题,并基于它构建自己的主题或样式。具体请参阅自定义章节。
关于主题系统的完整说明,请参阅 主题文档 。
安装指南
如需手动安装此主题,请按以下步骤操作:
- 确保已完成AspNetCore基础主题的安装步骤
- 在Web项目中安装Volo.Abp.AspNetCore.Components.Server.BasicTheme NuGet包
- 在Blazor UI项目的模块类的
[DependsOn(...)]属性中添加AbpAspNetCoreComponentsServerBasicThemeModule - 在
App.razor文件中进行以下调整:在页面顶部添加引用
@using Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling按以下方式替换脚本和样式包:
<AbpStyles BundleName="@BlazorBasicThemeBundles.Styles.Global" /><AbpScripts BundleName="@BlazorBasicThemeBundles.Scripts.Global" />
按以下方式更新Routes.razor文件:
@using Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic
@using Volo.Abp.AspNetCore.Components.Web.Theming.Routing
@using Microsoft.Extensions.Options
@inject IOptions<AbpRouterOptions> RouterOptions
<Router AppAssembly="typeof(Program).Assembly" AdditionalAssemblies="RouterOptions.Value.AdditionalAssemblies">
<Found Context="routeData">
<AuthorizeRouteView RouteData="routeData" DefaultLayout="typeof(MainLayout)">
<NotAuthorized>
<RedirectToLogin />
</NotAuthorized>
</AuthorizeRouteView>
</Found>
</Router>
布局结构
应用布局除包含上述通用部分外,还实现了以下组件区域:
自定义方案
您可通过两种方式自定义此主题:
覆盖样式/组件
此方案中,您可继续使用NuGet和NPM包形式提供的主题,并按需自定义特定部分:
样式覆盖
您可以直接在应用程序的全局样式文件中覆盖样式定义。
组件覆盖
请参阅 自定义/覆盖组件 了解如何替换组件、定制和扩展用户界面。
覆盖菜单项
基础主题支持使用自定义组件覆盖单个菜单项。您可创建自定义组件并在菜单贡献者中调用UseComponent扩展方法。
using Volo.Abp.UI.Navigation;
//...
context.Menu.Items.Add(
new ApplicationMenuItem("Custom.1", "我的自定义菜单", "#")
.UseComponent(typeof(MyMenuItemComponent)));
<li class="nav-item">
<a href="#" class="nav-link">
我的自定义菜单
</a>
</li>
复制源码并自定义
在Blazor Server项目目录中执行以下 ABP CLI 命令,将源代码复制至您的解决方案:
abp add-package Volo.Abp.AspNetCore.Components.Server.BasicTheme --with-source-code --add-to-solution-file
随后进入下载的Volo.Abp.AspNetCore.Components.Server.BasicTheme项目目录并执行:
abp add-package Volo.Abp.AspNetCore.Components.Web.BasicTheme --with-source-code --add-to-solution-file
或者,您也可以下载基础主题的源代码,手动将项目内容复制到解决方案中,重新配置包/模块依赖关系(参见上文安装章节了解原始安装方式),并根据应用需求自由定制主题。
抠丁客



