Symfony NelmioAPIDocBundle:删除徽标 Header?

Symfony NelmioAPIDocBundle: Remove Logo Header?

是否可以删除 NelmioApiDocBundle 的 web-based 输出中显示的徽标 header?如果是,怎么做?

我想在现有网站中包含此端点的输出(/api/doc 如果您使用的是默认设置)。但是,该站点已经有一个 header,添加第二个 header 恕我直言,用户体验会很差。但是我在 documentation 中找不到任何地方描述如何排除这个光彩夺目的 1990 年代风格的网页设计。

我在下面提供了默认配置的屏幕截图,这是我在像 Insomnia 这样的工具中查看文档时得到的。如您所见,绿色 header 在滚动时覆盖页面。

是的,你可以做到。

你应该覆盖包模板,说下面的步骤:

1 - 在 'templates/bundles/NelmioApiDocBundle/SwaggerUi/index.html.twig'

中创建模板文件

2 - 将内容放在下面:

{% extends '@!NelmioApiDoc/SwaggerUi/index.html.twig' %}

{% block header %}
    <a style="text-decoration: none;" id="logo" href="#" target="_blank">
        <h1 style="color: black">You personal title</h1>
    </a>
{% endblock %}

就是这样,我们完成了

我现在已经测试了@Abdelhak-ouaddi 提供的答案,虽然它是正确的,但我意识到我问的问题不够清楚,无法得到我需要的答案。提供的答案确实适用于更改绿色 header 的 CONTENTS,但它不会完全删除 header。

this page at the NelmioApiDocBundle GitHub page for details on how to customize the twig template. The actual default template is located in the repo here

我发现您可以轻松地覆盖 {% header %} 树枝块以更改 header 的内容作为已接受的答案状态,但由于 {% header %} 标签是 INSIDE <header> HTML 标签,这样做不能完全删除 header。

为了删除整个 header,您需要按照已接受的答案中的步骤进行操作...但不要只覆盖 {% header %} 块,而是粘贴整个内容index.html.twig 文件。然后,完全删除 <header> HTML 标签及其中的所有内容(包括 {% header %} twig 标签)。


作为一点额外的功劳:完全删除 header 会在页面标题上方留出较大的空白。您可以通过将新 index.html.twig 文件中的 <body> 标记调整为:

来摆脱它

<body style="margin: 0px;">

我确定有更简洁的方法来做到这一点,但是...那是另一张票。