首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >渲染svg twig - Symfony 4

渲染svg twig - Symfony 4
EN

Stack Overflow用户
提问于 2019-11-08 23:41:43
回答 1查看 844关注 0票数 0

这是一个正常工作的svg。

代码语言:javascript
复制
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
<g id="home">
  <path fill="#90A4AE" d="M42,48H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h36c3.3,0,6,2.7,6,6v36C48,45.3,45.3,48,42,48z"/>
  <path fill="#212121" d="M20.8,35.5v-9.6h6.4v9.6h8V22.7H40L24,8.3L8,22.7h4.8v12.8H20.8z"/>
</g>
</svg>

当我尝试用树枝动态加载它时,我没有渲染任何东西

这就是我要做的

代码语言:javascript
复制
<svg style="display:none;">
    <defs>
        {% for item in items %}
            <g id="{{item.label}}">
                {{item.svg}}
            </g>
        {% endfor %}
</svg>

后来

代码语言:javascript
复制
    {% for item in items %}
        <li class="nav__items ">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
                <use xlink:href=#{{item.label}}></use>
            </svg>
            <a href="{{item.target}}">{{item.label}}</a>
        </li>
    {% endfor %}

当我检查产生的html时,使用是有效的。我可以在里面找到家庭内容svg。但是什么都没有打印出来。当然,如果我直接使用它而不使用twig,它可以工作:(

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-08 23:48:20

使用raw过滤器告诉Twig不要转义您项目的内容:

代码语言:javascript
复制
<svg style="display:none;">
    <defs>
        {% for item in items %}
            <g id="{{item.label}}">
                {{item.svg|raw}}
            </g>
        {% endfor %}
</svg>

您可能还想删除style="display:none;"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58769691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档