我正在使用树枝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 %}