草庐IT

Twig_SimpleFilter

全部标签

php - Twig 对 0 个结果、1 个结果和多个结果使用特定值

在Symfony2中处理文章模块时,我必须显示阅读了多少次。为了使“句子”在语法上正确,我使用了下面的代码。这很明显,但令我困扰的是我找不到更短、更简洁的方法。是否有类似article.getReads|length|displayresult('Noresults','%dresult','%dresults)的东西可用,还是我必须自己做?{%ifarticle.getReads|length==0%}Bethefirstonetoreadthis!{%else%}{{article.getReads|length|number_format(0,',','.')}}read{%if

php - 如何在不渲染 Twig 模板的情况下分析它们?

对于我们正在开发的自定义CMS,我们希望使用twig模板(因为这是我们的前端构建的基础)。模板可能会使用twig提供的“默认”功能集(如包含、block、标签、函数等),但我们也想为页面提供某些“小部件”。例如,模板可能如下所示:{{'our_products'|translate}}{{widget_search(widget_parameters)}}所有以widget_开头的函数调用都是我们特殊的CMS小部件。在后端,我们希望编辑器填写小部件所需的参数。因此,对于包含widget_search的模板,他们应该看到一个输入字段,他们可以在其中输入搜索词,但他们不应该能够更改任何其他

php - Twig 原始过滤器 - 文档困惑

我附上了原始过滤器的Twig文档快照,找到here我不明白这是什么意思。有人可以解释一下吗?谢谢... 最佳答案 来自同一文档:Therawfiltermarksthevalueasbeing"safe"Raw是一个过滤器,因此它不会呈现任何输出:它只是对其进行转换。在这种情况下,“转换”包括在其上设置一个“安全”标记,以便实际渲染(由{{...}}标签执行)不会逃脱它。如果您据此重新阅读以下示例,它们应该会更加清晰。我们来看第二个例子:{{false?hola:hello|raw}}这意味着:由于我们无法提前知道条件是真还是假,并

php - 如何检查响应 TWIG 中是否存在记录 - 表格格式的数据

我有一个多维数组,其中一些对象存在而另一些不存在。页面中使用了整个数据。然后我计划在TWIG中检查它。示例数据:array:2[0=>Data1{-id:17-porodType:"1d"-name:"Dallypromotion"}1=>Data1{-id:34-porodType:"S"-name:"Special"}]如何检查响应中是否存在porodType="1d"的记录?如何为此操作显示不同的消息:存在(OK)/不存在(错误)?checkinTWIG时:{%fordinData1%}{%ifd.porodType=='1d'%}OK{%else%}Error{%endif%}

php - Twig调试(我没有config.yml)

在……很长一段时间后,我又回到了PHP游戏中。我正在查看Twig,需要了解更多正在发生的事情。我发现一些文本需要进入我的config.yml文件。警告:它不在我的系统上。它是随Twig版本一起提供的,还是我也必须安装Symfony?有点迷路了。干杯。编辑:我只需要{{dump(var)}}即可工作。httpd错误日志告诉我:PHPfatalerror:未捕获的异常“Twig_Error_Syntax”,消息为“函数“转储”不存在我正在像这样设置我的Twig环境:$twig=newTwig_Environment($loader,array('cache'=>'/tmp','debug'

php - Twig 模板 - 在数组中访问数组

刚开始使用twig模板时遇到了一个问题。我有一个数组我正在循环并从中提取数据,在这个数组中我有另一个我需要访问的数组(图像),问题是我似乎无法让它工作。这是我得到的提要0=>array(size=8)'id'=>int1'url'=>string'http://localhost'(length=16)'image'=>string'8cgbfenx2n1.png'(length=15)'type'=>string'image'(length=5)1=>array(size=10)'id'=>int17'images'=>array(size=3)0=>string'xjv5y4ase

php - Twig 过滤器包括模板

我想做这样的事情:{{include("tpl.html")|f}}但这似乎不起作用,它只是打印了tpl.html而没有任何过滤,然后我尝试了:{%filterf%}{%include"tpl.html"%}{%endfilter%}它奏效了。我只是想知道,为什么我不能使用更短的呢?我误解了什么吗?提前致谢。 最佳答案 抱歉这么久才回来:-)事实是include函数写在模板上。如果你这样做:{%sets=include('FuzHomeBundle:Default:test.html.twig')%}这不应该显示一些东西,无论如何你

php - Twig 用一个变量设置一个变量名 [TWIG/PHP]

如何在Twig中使用另一个值的值设置变量的名称?我认为它会是这样的:{%setqueCount=loop.index%}{%forrow2inanswer+queCount%}但这行不通。同样从中创建一个字符串将打破循环(因为它不搜索字符串)。我知道如何在PHP中执行此操作,所以为了澄清起见,这就是我想要实现的目标:$count=1;$args["answer$count"]返回$args["answer1"]但这一次,不是使用字符串,而是操作性答案。提前致谢!MatsdeWaard。 最佳答案 您可以使用_context变量{%s

php - Slim + Twig - 如何在开发过程中关闭 Twig 缓存?

这是我将它注入(inject)到Slim容器中的TwigView://ViewsandTemplates//https://www.slimframework.com/docs/features/templates.html$container['view']=function($container){$settings=$container->get('settings');$loader=newTwig_Loader_Filesystem('templates');$twig=newTwig_Environment($loader,array('cache'=>'cache',))

php - 允许用户在 TWIG 中添加任何代码是一个安全漏洞吗?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion在我的应用程序中,我想允许用户添加他自己的Twig代码。但是,我不希望它执行任何后端代码(例如用于访问数据库或文件的PHP代码)。我已经使用php代码测试过.我可以看到PHP代码没有在Twig页面上执行。据我所知,我可以说除非调用扩展,否则无法在Twig文件中执行PHP代码(可以操作文件或数据库)。但是,我只想知道更多的建议。