草庐IT

twig-filter

全部标签

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

php - 如何将数组从 Symfony 2 Controller 传递到 TWIG 模板?

我无法将数组从symfony2Controller传递到TWIG模板。我在Controller中使用这段代码:$searchTerms['color']="Red";return$this->render('TestBundle::search.html.twig',array("searchTerms"=>$searchTerms));在Twig模板中,我试图像这样访问变量:{{searchTerms['color']}}{{searchTerms.color}}两者都没有输出,空字符串,所以看起来数组来到模板但它的元素是空的。怎么了? 最佳答案

php - 如何包装HTML代码而不在Twig中包含新文件?

我有代表框的CSSdiv,它们包装了html代码。mycodehere我创建了一个“layoutbundle”,其中每个HTML包装器(例如框,选项卡,网格等)都放置在单独的Twig文件中。以这种方式,可以使用其他布局来实现对其他束的查看。但是我厌倦了包含。每个小的html包装器都需要一个include,我想知道是否有一种更简单的方法来包装HTML代码。让我们用一个简单的盒子作为例子。实际上,我创建了几个文件:包含该框并包含以下内容的box.html.twig文件:{%includecontent%}几个box-content.html.twig文件,其中包含我的盒子的内容。最后,我通

php - 为什么 apply_filter ('the_content' ) 不输出任何东西?

我已经尝试了很多php组合来让wordpress输出$post->post_content作为格式化文本(与echo$post->post_content给我的原始格式相反)。这种组合似乎是最有前途的,但它没有输出任何东西。有什么想法吗?(就是这一行:post_content);?>)ID);if(have_posts()){while(have_posts()){the_post();?>get_results("SELECT*FROM$wpdb->postsWHEREpost_parent='$post->ID'ANDpost_type='page'ANDpost_status='

php - Twig - 插值变量

我有以下内容:{%ifpromo.monday_unavailable==1%}notavailablemondays{%elseifpromo.monday_available==1%}availablemondays{%else%}availablemondaysfrom{{promo.monday_start}}until{{promo.monday_end}}{%endif%}{%ifpromo.tuesday_unavailable==1%}notavailabletuesdays{%elseifpromo.tuesday_available==1%}availabletue