草庐IT

Twig_Filter

全部标签

php - 如何在 Twig View 中获取数组的键名

我在twig中编码以可视化我从php获得的值,我希望数组的键名显示在值上方。{%ifuser.address%}{%foraddressinuser.address%}{%forpartsinaddress%}{{parts}}{%endfor%}{%endfor%}{%endif%}在{%foraddressinuser.address%}下面的部分我想把({{address.key}}或真正的句子是必要的获取数组的键名)数组是这样的:-address:array:4[▼"Door"=>array:1[▼0=>"225"]"Street"=>array:1[▼0=>"Pinkystr

php - Symfony2 - 如何将嵌套记录和递归函数实现到实体字段或 Twig 布局中?

我对使用Symfony2中实体的嵌套记录做一个组合框有严重的疑问。我已经在http://gediminasm.org/article/tree-nestedset-behavior-extension-for-doctrine-2中阅读了Doctrine2的嵌套树扩展,它看起来很有趣,但它没有提到如何将这个嵌套树实现到表单中的实体字段中。另外,我阅读了更多关于PHP中的递归函数的内容,并且发现了一个有趣的博客,其中对其进行了分析,这是链接http://www.sitepoint.com/hierarchical-data-database/,它具体解释了这个递归函数:functiond

php - FILTER_VALIDATE 与 Preg_match。使用哪一个?

要验证输入日期,无论是表单URL还是来自表单,您通常使用哪种技术?我一直在看PHPFilters但我很少在任何代码中看到它们。我平时看到过preg_mach的用法,例如:$numbers="/^[0-9]+$/D";if(preg_match($numbers,$var)){echo"isnumber";}代替:if(!filter_var($var,FILTER_VALIDATE_INT))echo"isnumber";}使用一个或另一个有什么好处吗?谢谢! 最佳答案 我的两分钱:视情况而定。这取决于您是否应该在正则表达式上使用过

php - Symfony2 Twig 无限子深度

我有一个自连接表,其中每个文件夹都有一个父文件夹,而且这个文件夹的深度是无限的。一个文件夹可以有另一个文件夹作为父文件夹,没有深度限制。今天我的代码看起来像这样,我正在寻找一种方法来挖掘它需要的深度,而无需对每个步骤进行硬编码,是否有一种方法可以定义一个带有循环的twig函数,它会调用自己在循环中的每一轮?Noparent{%forfolderinfolders%}{{folder.name}}{%forfolderinfolder.children%}   {{folder.name}}{%endfor%}{%endfor%}

php - Symfony2 - 要查看 Twig 中的更改,每次都必须清除缓存

我现在只有这个问题。每次我对我的Twig进行更改时,我都必须cache:clear。以及如果代码中有问题,不会显示任何错误?我该怎么办?! 最佳答案 这个问题我遇到过很多次。如果您的网站被这么多用户访问并且您清除了缓存。我确定您的网站会关闭几分钟,直到生成新的缓存。所以清除生产服务器上的缓存不应该是一项常规事件。有几个解决方案或技巧可以解决这个问题:找出网站流量较低的时间。可能在晚上的某个时候,然后清除缓存。当你想清除缓存时,设置生产服务器的副本,然后计划将公共(public)域ip切换到新副本的时间,这样用户就不会面临停机时间,一

php - 在 Symfony/Twig 中完成渲染之前刷新输出

是否可以在渲染完成之前刷新输出缓冲区?我的观点是提高网站的感知性能。例如管理界面中有一个大表(如5000行)要呈现。我想告诉Twig/Symfony在之后刷新输出已呈现,因此浏览器可以开始下载样式/javascript,然后每500行刷新一次输出。 最佳答案 您要使用的是Twig{%flush%}命令相当于PHP函数flush().将它放在之后在您的模板中标记,以便将当前缓冲区发送到浏览器。每次您调用它时,它都会输出任何缓冲的输出,因此将它放在一个循环中就可以正常工作。有关详细信息,请参阅docs.

php - Twig (在 Symfony 中): access template parameters from twig extensions

我想从我的Twig扩展(过滤器、函数...)访问Twig模板参数而不显式传递它。我的所有twig扩展中始终需要一个“displayPreferences”变量,以便更改显示和转换值的方式。可以将此变量作为模板参数传递,并将其作为我运行的每个Twig过滤器/函数的参数传递,但这会使模板难以阅读。这样的东西会很棒:/***Twigfilter(renderadateusingtheuserdefinedformat)**@paramDate$date*/publicfunctionrenderUserDate($date){//Somehow,getatemplateparameter,w

php - 您可以使用带有 PHP filter_var() 和 filter_input() 的自定义过滤器吗

PHPFilters非常酷,但是如果过滤器与您想要的不完全匹配怎么办?您可以创建自定义过滤器吗? 最佳答案 是的,您可以使用FILTER_CALLBACK并提供您自己的过滤器函数(作为回调)。 关于php-您可以使用带有PHPfilter_var()和filter_input()的自定义过滤器吗,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3016861/

PHP Twig : access current template variable from within macro without passing?

是否可以从宏中访问当前模板的变量而不直接将变量传递给宏?谢谢。 最佳答案 可以将所有上下文变量传递给宏:{{macro(_context)}}_context是specialvariable,其中包含所有当前定义的变量(按名称=>值)。 关于PHPTwig:accesscurrenttemplatevariablefromwithinmacrowithoutpassing?,我们在StackOverflow上找到一个类似的问题: https://stackov

php - FILTER_SANITIZE_SPECIAL_CHARS 换行问题

有谁知道如何防止FILTER_SANITIZE_SPECIAL_CHARS将换行符(\n)转换为()。我正在为我的网站开发一个简单的评论系统,我发现php过滤器将\n转换为所以当使用nl2br()时没有换行符。请帮忙。谢谢:) 最佳答案 filter_var与FILTER_SANITIZE_SPECIAL_CHARS选项正在做它应该做的事情:HTML-escape'"&andcharacterswithASCIIvaluelessthan32,optionallystriporencodeotherspecialcharacters