我正在使用树枝1.12.2.我的代码从代码隐藏中生成一些元素,当使用最新版本的twig进行html编码时,会生成这些元素
{% for item in files_folders %} <tr class="{{ cycle(['tr_odd','tr_even'],loop.index) }}"> <td><img src="../templates/images/sharepoint/{{ item.ContentType }}.gif" border="0" alt=""/></td> <td>{{ item.Link }}</td> <td>{{ item.Modified }}</td> <td>{{ item.FileSize }}</td> <td>{{ item.FileType }}</td> </tr> {% endfor %}
这将输出这个
<tr class="tr_even"> <td><img src="../templates/images/sharepoint/Document.gif" border="0" alt=""/></td> <td><a href='?download=/ddd.png'>ddd.png</a></td> <td>2013-03-04 17:47:38</td> <td>64.8 KB</td> <td>png</td> </tr> <tr class="tr_odd"> <td><img src="../templates/images/sharepoint/Document.gif" border="0" alt=""/></td> <td><a href='?download=/asdasd.png'>asdasd.png</a></td> <td>2013-03-03 20:01:52</td> <td>66.04 KB</td> <td>png</td> </tr>
当我调试并在发送到twig之前查看数据,它不会被转义.我没有找到任何替代{{item.Link}}来呈现数据的方式.
谢谢
解决方法
您可以使用原始过滤器来制作twig渲染原始HTML
http://twig.sensiolabs.org/doc/filters/raw.html
{% autoescape %} {{ var|raw }} {# var won't be escaped #} {% endautoescape %}