Symfony NelmioAPIDocBundle如何移除页面展示的logo头部栏?
NelmioApiDocBundle移除顶部logo头部操作方案
可以移除,针对不同版本的NelmioApiDocBundle,可选择对应的实现方式:
主流版本(3.x/4.x,Symfony 4+ 常用版本)
方法1:通过Bundle配置直接关闭
修改项目config/packages/nelmio_api_doc.yaml文件,新增UI隐藏配置:
nelmio_api_doc: ui: hide_header: true
配置生效后访问/api/doc即可看到顶部头部已被隐藏,无需额外修改代码。
方法2:重写渲染模板(自由度最高,可自定义其他UI内容)
如果需要同时调整其他文档页的UI元素,可通过覆盖Bundle模板实现:
- 在项目
templates/bundles/目录下创建NelmioApiDocBundle/SwaggerUi文件夹(使用Redoc渲染则创建NelmioApiDocBundle/Redoc文件夹) - 从vendor目录下找到
nelmio/api-doc-bundle/Resources/views/SwaggerUi/index.html.twig文件,复制到刚才创建的目录中 - 打开复制后的模板文件,删除对应渲染顶部logo头部的代码段,保存即可生效
方法3:CSS强制隐藏(适合内嵌集成场景,无需修改Bundle配置)
如果是将/api/doc页面内嵌到现有站点的iframe中,直接在现有站点的全局CSS中添加如下样式即可:
/* 适配SwaggerUI渲染模式 */ .swagger-ui .topbar { display: none !important; } /* 适配Redoc渲染模式 */ .redoc-header { display: none !important; }
默认头部效果示例:
2.x 旧版本操作方案
- 覆盖Bundle的
Resources/views/layout.html.twig模板,直接删除顶部header区块的代码 - 或者在模板中添加自定义CSS,隐藏
.header类对应的元素即可
内容的提问来源于stack exchange,提问作者jetsetter
相关产品推荐
相关产品推荐

