繁体   English   中英

Symfony NelmioAPIDocBundle:删除徽标 Header?

[英]Symfony NelmioAPIDocBundle: Remove Logo Header?

是否可以删除 NelmioApiDocBundle 的基于网络的 output 中显示的徽标 header? 如果是这样,怎么办?

我想在现有网站中包含此端点的 output(如果您使用默认设置,则为/api/doc )。 但是,该站点已经有一个 header,添加第二个 header 恕我直言,用户体验会很差。 但我在文档中找不到任何地方描述如何排除这个 web 设计的 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 提供的答案,虽然它是正确的,但我意识到我没有足够清楚地提出问题来获得我需要的答案。 所提供的答案做工作改变绿头的内容,但它并不完全删除标题。

有关如何自定义树枝模板的详细信息,请参阅NelmioApiDocBundle GitHub 页面上的此页面 实际的默认模板位于此处的 repo 中。

我发现的是,你可以很容易地覆盖{% header %}树枝块改动标题为接受的答案状态的内容,但由于{% header %}标签<header> HTML标签,这样做无法完全删除标题。

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


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

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

我敢肯定有一种更清洁的方法可以做到这一点,但是......那是另一张票。

我为需要它的人创建了一个深色主题。 https://github.com/digitaltim-de/Symfony-NelmioApiDocBundle-Dark-Theme

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM