草庐IT

Twig_SimpleFilter

全部标签

php - 更新 Twig 中的对象属性

有没有办法更新twig中对象的属性?像下面这样的对象被传递给twig:objectproperty1property2我想像这样更新property1:{%setobject.property1='somenewvalue'%}上面的代码不起作用,但是可以在twig中做这样的事情吗?如果没有,是否有办法编写扩展程序或宏来执行此操作? 最佳答案 您可以通过合并对象来实现:{%setobject=object|merge({'property1':'somenewvalue'})%} 关于p

php - 如何在 Symfony 2 中重新加载 Twig 缓存

我有一个使用Symfony2框架在PHP中开发的应用程序。我已经更改了一个HTML文件,但是当我刷新页面时更改没有反射(reflect)出来。我重新启动了服务器。运气不好。我试图从/protected/cache/页面本身中删除Twig文件夹。这不是加载。如何重新加载Twig缓存?注意事项:我正在使用tomcat服务器进行部署。我没有在服务器上配置Symfony2命令行。我是PHP新手。 最佳答案 最简单的方法,输入命令:rm-rfapp/cache/*重点是:app/cache/中的所有文件可以自由移除,它们在需要时重新生成。如果

php - Twig 根据条件扩展模板

我将Symfony2与Twig一起使用,我的问题非常简单:在View中,我想基于变量扩展其中一个布局。如果变量是false我想扩展UdoWebsiteBundle::layout.html.twig如果它是true我想扩展UdoWebsiteBundle::layout_true.html.twig。这是我试过的代码:{%blocklayout_extender%}{%ifintro=='false'%}{%extends'UdoWebsiteBundle::layout.html.twig'%}{%else%}{%extends'UdoWebsiteBundle::layout_tr

php - 如何在 Twig 中渲染 CSRF 输入?

我知道使用form_rest呈现CSRFtoken隐藏输入的常用方法,但是有没有办法呈现justCSRF输入本身?我在主题中覆盖了{%blockfield_widget%}以呈现一段额外的文本。但是由于CSRFtoken也在输入字段中呈现,并且我在隐藏字段旁边得到了一段我不需要的文本。所以我想用一个参数单独渲染它,告诉它不要渲染这个文本。 最佳答案 你可以使用{{form_widget(formView._token)}} 关于php-如何在Twig中渲染CSRF输入?,我们在Stack

php - Symfony2 - Twig - 如何将参数发送到父模板?

我正在使用Symfony2和Twig模板开发一个PHP项目,但我找不到解决这个问题的方法。我有一个管理包,所有模板都从管理库扩展而来,管理库有一个带菜单的主模板。当用户在该页面上时,我需要将页面基本模板中菜单的当前选项卡设置为选中。有什么方法可以通过extends将参数传递给基本模板吗?? 最佳答案 这是一个简单的例子:base.html.twig:{#base.html.twig#}...OneTwoThree...page2.html.twig:{#page2.html.twig#}{%extends'YourBundle::b

php - 带有消息 'Unknown "的“Twig_Error_Syntax”渲染“过滤器

我正在运行drupal8、composer和npm来执行gulp任务。当我运行npmstart..我的任务管理器时:我得到以下堆栈跟踪:Fatalerror:Uncaughtexception'Twig_Error_Syntax'withmessage'Unknown"render"filter.'in/web/project/web/themes/emulsify/components/_patterns/04-templates/basic-page/_basic_page.twig:26Stacktrace:#0/web/project/web/themes/emulsify/p

php - 如何将 Twig 呈现的模板作为 JSON 响应的一部分返回?

我想返回一个HTML片段以及json字符串中的其他值,这就是我所拥有的:$html=$this->render('sometemplate.html.twig',array('somevar'=>$somevar));$response=newResponse(json_encode(array("html"=>$html,"name"=>"JoeBloggs")));$response->headers->set('Content-Type','application/json');return$response;但我得到的只是{"html":{"headers":{}}}。有没有办

php - 是否有用于输出条件文本的 Twig 速记语法

Twig中是否有更短的语法来输出条件字符串?{%ifnotinfo.id%}create{%else%}edit{%endif%}传统的php比这更容易: 最佳答案 这应该可行:{{notinfo.id?'create':'edit'}}另外,这称为三元运算符。它有点隐藏在文档中:twigdocs:operators根据他们的文档,基本结构是:{{foo?'yes':'no'}} 关于php-是否有用于输出条件文本的Twig速记语法,我们在StackOverflow上找到一个类似的问题:

php - 在 Twig 中,检查数组的特定键是否存在

在PHP中,我们可以使用函数array_key_exists()来检查一个键是否存在于数组中。在Twig模板语言中,我们可以简单地使用if语句来检查变量或对象的属性是否存在,如下所示:{%ifapp.user%}dosomethinghere{%else%}dosomethingelse{%endif%}但是我们如何使用Twig检查array的键是否存在?我尝试了{%ifarray.key%},但它给了我一个错误:Key"key"forarraywithkeys"0,1,2,3...648"doesnotexist由于将数据传递到模板的主要方法之一是使用数组,因此似乎应该有一些方法可以

php - twig: IF 有多个条件

twigif语句似乎有问题。{%iffields|length>0||trans_fields|length>0-%}错误是:Unexpectedtoken"punctuation"ofvalue"|"("name"expected)in我不明白为什么这不起作用,就像所有管道都丢失了Twig一样。我试过了:{%setcount1=fields|length%}{%setcount2=trans_fields|length%}{%ifcount1>0||count2>0-%}但是if也失败了。然后试试这个:{%setcount1=fields|length>0%}{%setcount2=