gpt4 book ai didi

php - 在 Twig 文件 B 中渲染 Twig 文件 A 但仅在查看 Twig 文件 C 时?

转载 作者:搜寻专家 更新时间:2023-10-31 21:03:41 31 4
gpt4 key购买 nike

我有 3 个组件的 Twig 文件:

文件 1:

<div class="container">
{# content-here #}
</div>

文件 2:

<div class="section">
<h2 class="section__title">{{ title-here }}</h2>
{# content-here #}
</div>

文件 3:

<a class="mylink" href="{{ link-path }}">{{ link-text }}</a>

这些文件被导入我的网站(一个单独的仓库)并被使用。我需要将它们保存在单独的文件中(它们当前的状态)才能继续工作。

在与组件相同的 repo 中,我想制作一个新页面,这将是一个样式指南指南来演示它们:

<div class="container">
<div class="section">
<h2 class="section__title">Title</h2>
<a class="mylink" href="#">Link</a>
</div>
</div>

我可以在 styleguide 中创建数组来填充占位符(例如 title-here),但我不想重复 HTML,我想拉入组件,以便 styldeguide 在组件更改时更新。

我遇到的问题是我需要将组件放在组件内,例如容器内的部分。我不能只使用包含,因为这会破坏我在另一个需要单独使用组件的存储库中的站点。我怎样才能做到这一点?

一个解决方案是,如果样式指南页面可以读取 {# content-here #} 并将其解释为包含。这能做到吗?

请注意,我可以编辑组件 twig 文件,但我需要它们本身就有意义,因为这是其他网站使用它们的方式。

最佳答案

我想你要找的是 embed

这是使用 Fiddle 的解决方案:http://twigfiddle.com/npvcag

file1.html.twig:

<div class="container">
{% block container %}
{# content-here #}
{% endblock container %}
</div>

file2.html.twig:

<div class="section">
<h2 class="section__title">{{ title-here }}</h2>
{% block section %}
{# content-here #}
{% endblock section %}
</div>

file3.html.twig:

<a class="mylink" href="{{ link_path }}">{{ link_text }}</a>

风格指南:

{% embed "file1.html.twig" %}
{% block container %}
{% embed "file2.html.twig" %}
{% block section %}
{% include "file3.html.twig" %}
{% endblock section %}
{% endembed %}
{% endblock container %}
{% endembed %}

关于php - 在 Twig 文件 B 中渲染 Twig 文件 A 但仅在查看 Twig 文件 C 时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36282922/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com