草庐IT

Twig_SimpleFilter

全部标签

PHPStorm自动完成 Twig 变量

我在一个php项目中使用PHPStorm8.1作为IDE(laravel4.1项目在View侧带有Twig)如果你可以在symfony2的这个phpstorm插件上看到“twigside”上的vars自动完成提示,那就太好了:http://symfony2-plugin.espend.de/languages/twig/index.html#phptypes基本上在我的twigView中,我使用注释声明var“类型”,然后我会在我的模型(farmaco)上看到提示:{#farmaco\Farmaco#}{%farmaco.%}注意:我没有使用Symfony,但是我安装了symfony插

php - twig - 将函数传递给模板

目前我将我的函数放在一个类中,并将这个类的一个实例传递给模板,并将我需要的函数作为类方法调用。{{unneededclass.blah()}}我需要像下面那样做{{blah()}}有可能吗? 最佳答案 2015年5月14日更新评论者指出我大部分是错的。如果你真的需要一个函数,而不是过滤器或宏,你可以像suggestedintheTwigdocs那样做:$twig=newTwig_Environment($loader);$function=newTwig_SimpleFunction('blah',function(){//...}

php - Twig 遍历对象属性

我在Twig文档中读到,可以通过以下方式迭代关联数组:{%forkey,valueinarray%}{{key}}{{value}}{%endfor%}我想知道这是否也适用于stdClass类型的对象。我本来希望Twig以属性名称作为键来迭代对象的属性值。相反,for循环中包含的指令block根本不执行。 最佳答案 您可以先将对象转换为数组。您可以构建自己的过滤器,将您的对象转换为数组。更多关于过滤器的信息在这里:http://twig.sensiolabs.org/doc/advanced.html#filters它可能看起来像这

php - 如何在 Symfony2/Twig 中正确地从模板生成 URL

我正在使用Symfony2并且:我在routing.yml中有这个_welcome:resource:"@AcmeBundle/Controller/"type:annotation我在Controller中使用此方法:/***@Route("/{page}")*/publicfunctionstaticAction($page){return$this->render('AcmeBundle:Static:'.$page.'.html.twig');}生成通用页面:/home/contact/privacy但是当我在菜单上制作url时:HomeContactPrivacy我Symfo

php - Symfony2 : How can I set twig |date ("d F, Y") filter to output months in Swedish?

我的Twig模板中的|date("dF,Y")过滤器有问题。我希望以瑞典语输出月份。我尝试在我的parameters.yml文件中设置“locale:sv”,但没有任何效果。在我从Symfony2.1升级到2.3之前它一直在工作,所以我认为这可能与它有关。关于如何解决这个问题的任何想法? 最佳答案 Twig国际扩展您可以使用TwigIntlExtension在fabpot的官方Twig扩展中找到repository.它提供了一个本地化的日期过滤器,可以像这样使用:{{date|localizeddate('full','none',

php - Twig 中的 Unescape 或 html 解码(PHP 模板)

我使用的是twig1.12.2。我的代码从代码隐藏中生成了一些元素,当使用最新版本的twig渲染这些元素时,它们会得到html编码{%foriteminfiles_folders%}{{item.Link}}{{item.Modified}}{{item.FileSize}}{{item.FileType}}{%endfor%}这会输出这个<ahref='?download=/ddd.png'>ddd.png</a>2013-03-0417:47:3864.8KBpng<ahref='?download=/asdasd.png

php - 使用 Symfony 2.8 生成表单会抛出 Twig_Error_Runtime

自从几天前(2015年11月30日)发布了最新的SymfonyLTS版本后,我就开始使用它了。不幸的是,我无法使用在Symfony2.7.7中运行良好的相同代码生成具有写入操作的CRUD。首先,我在LinuxMint17.2下使用bash创建一个新的Symfony项目:symfonynewtaskslts新目录tasks被创建,里面有一个新的Symfony2.8.0项目。在app/config/parameters.yml中调整数据库凭据后,我创建了数据库:app/consoledoctrine:database:create并生成一个新包:app/consolegenerate:bu

php - 在 Twig 中解码 JSON

是否可以在twig中解码JSON?谷歌搜索似乎对此没有任何结果。在Twig中解码JSON没有意义吗?我正在尝试访问Symfony2的实体字段类型(EntityFieldType)上的2个实体属性。在遇到之前的2个SO问题(Symfony2entityfieldtypealternativesto"property"or"__toString()"?和Symfony2Createaentityformfieldwith2properties)建议向实体添加一个额外的方法来检索自定义字符串而不是实体属性后,我想到(并且确实)返回了一个JSON字符串表示一个对象实例。实体类中的某处:/***

php - Twig 模板中的 "Begins with"

我有一个Twig模板,我想在其中测试一个项目是否以某个值开头{%ifitem.ContentTypeId=='0x0120'%}{{item.BaseName}}{%else%}{{item.LinkFilename}}{%endif%}0x0120可以看起来像这样,也可以像这样更复杂0x0120D52000D430D2B0D8DD6F4BBB16123680E4F787006540​​36413B65C740B168E780DA0FB4BX。我唯一想做的就是确保它以0x0120开头。理想的解决方案是使用正则表达式来解决这个问题,但我不知道Twig是否支持这个?谢谢

php - 扩展或包含——Twig 中有什么更好的地方?

为什么Twig文档建议使用扩展而不是包含?Symfony2文档说因为“在Symfony2中,我们喜欢以不同的方式思考这个问题:一个模板可以被另一个模板装饰。”但仅此而已。是作者一时兴起还是另有原因?感谢您的帮助。 最佳答案 何时使用继承:您有50个页面共享相同的布局-您创建一个layout.twig作为父级,每个页面都扩展该layout.twig。所以父类是通用的,子类是特定的。何时使用包括:在50个页面中,有6个页面共享一blockHTML-您创建一个shared-chunk.twig并将其包含在这6个页面中。另一种用法:您注意到