草庐IT

Twig_SimpleFilter

全部标签

php - Twig 过滤多个参数

我正在尝试创建一个可以处理2个参数的特定Twig过滤器。$documentURL=newTwig_SimpleFilter('documentURL',function($DocumentId,$UserId){$URL="http://example.example.com/start/".$DocumentId."/".$UserId."/";return$URL;});并将过滤器添加到渲染中:$twig->addFilter($documentURL);现在在模板中请求过滤器:{{documentURL(booking.docId,user.id)}}但是,我收到一个错误消息,指

php - 在 Twig 文件之间导入内容

我怎样才能拥有一个Twig文件,该文件从同一目录或子目录中的第二个Twig文件导入部分内容?我正在开发一个项目,其中多个Twig文件具有共同的内容,我试图避免在Twig文件之间复制和粘贴内容。所以,我想要一个包含共享标记的子目录,并简单地“导入”到主要Twig文件的相关部分。import.list.html.twig与主Twig文件位于同一目录中,我尝试了以下操作:{%extends"::base.html.twig"%}{%blocktitle%}StockBundle:StockController:index{%endblock%}{%blockbody%}Welcometoth

php - Silex v1.3 到 Silex v2 : Twig_Error_Runtime

我最近将一切正常的Silexv1.3项目迁移到了Silexv2。我收到一个Twig错误,我不明白原因Twig_Error_RuntimeinTemplate.phpline590:Neithertheproperty"request"noroneofthemethods"request()","getrequest()"/"isrequest()"or"__call()"existandhavepublicaccessinclass"Silex\Application"in"index.twig"atline5这是我的index.twig文件的前5行{%extends"layout.t

php - Twig - 在 twig 中模拟 PHP for 循环功能,迭代次数为 +5(或 +1 以外的任何值)

我如何在twig中模仿这个PHP功能?对于for循环的每次迭代,我需要将数字递增5。下面的PHP代码按预期工作:for($x=5;$x';}哪些输出:5,10,15,20,然而,twig中的这段代码无法按预期工作。{%foryinrange(0,20)%}{{y+5}} ,{%endfor%}哪些输出:5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25我也曾尝试为每次迭代设置y的新值,但这也不起作用...{%foryinrange(0,20)%}{{y+5}} ,{%sety=y+5%}{%endfor

php - Slim Framework 将数据传递给 Twig View

我正在尝试在Slim中构建一个页面,以显示订阅者的详细信息。我已经弄清楚如何在Controller中创建路由和相关方法,它们都可以正常工作。我将Twig用于View,但不知道如何从View访问订阅者。路线$app->get('/subscriber/{id}','SubscriberController:getSubscriber');订阅者ControllerpublicfunctiongetSubscriber($request,$response,$args){$subscriber=Subscriber::where('id',$args['id'])->first();}我一

php - SlimPHP - 扩展 Twig (函数)的奇怪错误

我在PHPSlim(最新版本)中有一些简单的应用程序,它是一个简单的网站,可以从数据库获取数据并将其显示在twig模板上。没有什么花哨。只要我不尝试向twig添加自定义功能,一切都会完美无缺。当我向twig添加自定义函数时,在某些服务器上(在本地主机laragoon上工作正常,在具有相同php版本的生产服务器上我没有得到这个错误:fatalerror:无法在...第4行的twig.php中实例化抽象类Twig_Function下面是我的twig.php-错误连接到newTwig_Function,但老实说我在这里看不到任何抽象类......,在本地主机Laragon上它工作正常,生产有

php - Twig nl2br 过滤器不适用于实体

我有一个带有__toString()方法的地址实体,如下所示:publicfunction__toString(){$result=$this->getStreet();if($this->getStreet2())$result.='\n'.$this->getStreet2();$result.='\n'.$this->getZipCode().''.$this->getCity();return$result;}在我的模板中,我应用了Twignl2brfilter在实体上:{{user.address|nl2br}}但我仍然得到转义的\n:1107西亚当斯大道\n90007加利福

php - 如何使用 Twig 生成随机字符串?

我有一个包含优惠券代码的输入。用户可以填写自定义代码,但我想给他们一个默认代码。我现在有以下代码:我想用随机字符串替换RANDOM_CODE。我认为这与问题无关,但form.code包含原始优惠券代码。我使用相同的表格进行编辑。根据Twig文档,可以使用random()生成随机数,甚至可以使用random('abcdefgh...'),但我想生成一个具有特定长度的随机字符串。我知道我至少可以使用两种方法来做到这一点:在Controller中生成默认的随机代码,然后将其传递给View;或创建一个带有为我生成随机字符串的函数的Twig扩展。知道我很好奇是否有一种方法可以仅使用Twig的内置

php - 如何在 Twig 模板中拆分字符?

当我想在Twig中使用拆分函数时遇到问题,我有这样的词Male\tDoctor,我想使用\t拆分那个词>编码,我在搜索引擎中搜索,我在这个url中得到了关于Twigsplit问题的讨论我已阅读,我认为问题已解决,但是当我在twig网站文档中搜索时,我无法通过split找到过滤功能,您可以阅读this.当我尝试使用这段代码时{{var|split('\t')})返回的是过滤器“split”不存在您对解决这个问题有什么想法或建议吗?感谢您的回答...:)注意:我正在使用fuelphp框架和Twig模板 最佳答案 只是为了完整性:F21提

php - Twig/PHP - 使用 Replace 或 Regex 格式化字符串

如何在Twig中格式化字符串,如下所示:例如:img=05myphoto-Car.jpg我需要删除数字前缀和-我主要用它来根据文件名输出图像的标题期望的输出:MyphotoCar到目前为止,我已经从文档中尝试过:{{img|replace({'.jpg':"",'-':""})}}输出字符串05myphotoCar我还尝试了{{replace({'range(0,9)':""})}}//对于数字前缀-没有用 最佳答案 迟到总比不到好...只需注册它(对我来说是在index.php上)$app['twig']->addFilter('