问题标签 [twig-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1018 浏览

symfony - Twig 扩展:数据库查询

我需要做一个自定义过滤器,将价格转换为用户货币偏好。所以我每天都有一张更新最新汇率的表格。

我打算这样调用过滤器 {{ '200'|price }} 或 {{ '200'|price('USD') }}

过滤器将首先从 cookie 中获取用户偏好。

然后它会根据货币代码查询最新汇率并转换实际价格。

我的问题是,是否可以在树枝扩展中进行数据库查询(在此处过滤)。

我可能必须在一个页面中调用此过滤器 10 次。这是否意味着还有 10 个查询?

你会建议什么更好的方法?

0 投票
1 回答
337 浏览

events - 嵌入式 Twig 控制器导致 kernel.request 事件多次触发

在我的 Symfony 项目中,我遇到了一个奇怪的问题,即在使用嵌入式 Twig 控制器时,kernel.request 事件监听器会多次触发。

在我的自定义事件侦听器中,我有一个事件侦听器,如果存在特定条件(在这种情况下是过期密码),它会发送重定向响应。为了防止重定向循环,我检查了我们是否已经在页面上:

但这并没有停止重定向循环。在我添加日志记录之前,我不知道嵌入式控制器会触发kernel.request事件(事后看来很明显,因为这些嵌入式控制器通过发送“子请求”来工作)。我在基本树枝模板中有一个嵌入式控制器,用于检查任何警报消息并显示它们。

鉴于上述情况,我怎么能

  1. 能够将动态内容插入基本模板(所有其他模板都扩展),并且
  2. 没有kernel.request事件侦听器多次触发。

尽管 Symfony 建议使用嵌入式控制器将动态内容插入到基本模板中,但这是否被认为是不好的做法?

创建一个Twig 扩展来解决这个问题会更好吗?从我所见,Twig 扩展通常只用于简单的东西,比如price食谱中的例子,虽然我不明白为什么它不适用于更复杂的、与数据库连接的东西。我只是不确定如何做到这一点。

例子值得赞赏。


可能相关?:Symfony 控制器多次执行

0 投票
1 回答
160 浏览

php - 树枝提取物翻译不起作用

我正在尝试使用 twigi18扩展名提取 PO 文件。按照本教程http://twig.sensiolabs.org/doc/extensions/i18n.html我尝试翻译我的网站。

问题是当我在终端调用时尝试提取翻译:

检查截图: 在此处输入图像描述

Checkig$ xgettext --help我没有看到-R递归搜索

0 投票
0 回答
306 浏览

php - 如何在 Twig 中设置自定义变量以显示原始数据

有谁知道是否有一种很好且清晰的方法可以在自定义变量上设置 |raw 过滤器?在我的具体例子中:

此变量包含字符串:'someAttribute="someValue"'

没有|raw它打印

所以我只想用令牌解析器编写某种扩展?对于名称 == 'attributes' 的所有变量,我不需要每次都对它们使用 |raw 过滤器

0 投票
2 回答
590 浏览

php - 未知的“form_widget”功能

我用 Silex 创建了一个应用程序。

这是 web/index.php

bootstrap.php

MainKernel 类返回响应:

我在作曲家有树枝和树枝扩展。不幸的是,当我将 form_widget() 放入我的树枝文件中时,它说:

第 30 行“index.html.twig”中的未知“form_widget”函数

我错过了什么?

谢谢

0 投票
1 回答
481 浏览

html - 如何使用 Twig 函数返回和插入 HTML 代码?

我正在尝试使用 Twig 动态添加一些图像。所以我定义了一个名为 Twig 的新函数setImgService,它基本上检查服务名称,并根据它,根据它的图像返回一些 HTML 代码。

功能代码:

但是当我使用

它像纯文本一样返回 HTML 代码。

请问有什么帮助吗?

0 投票
1 回答
158 浏览

twig - 什么是想法| 在树枝上

我有一个问题,我有这个代码:

什么想法text_article|twitter_share...,我不明白做什么|。你能帮我吗 ?提前谢谢 :{{ 40|lipsum }}和之间有什么区别{{ lipsum(40) }}?过滤方法是:

0 投票
1 回答
1413 浏览

php - 在 Twig 中使用两个数据库查询的 For 循环

如果有人可以提供帮助,我真的很高兴,我正在尝试找出一种方法来循环遍历 Twig 中的两个查询。我可以在 PHP 中创建它,但我在 Twig 上做同样的事情。这就是我通常在 PHP 上这样做的方式:

上面的代码可以正常工作,但在 Twig 上它不会循环到下一个循环,但它会继续循环相同的东西。如果您知道如何像上面使用的那样使用 Twig for 循环,请提供帮助。我在 Slim 中使用 Laravel Eloquent 查询它。

这就是我所做的:

控制器

风景

它只会显示第一行并重复同样的事情。

0 投票
2 回答
643 浏览

twig - 将参数从内容类型传递到模块

我以为这很容易,但我很难过。

我有一个包含 id 字段的自定义内容类型。我使用基本页面模板呈现这些。

我编写了一个小模块,该模块创建了一个块,该块填充了来自外部 API 的数据。一切正常,除了我似乎无法弄清楚如何将 id 的值从给定页面的内容传递到我的模块,以便它可以进行 API 调用。

这将是直接 php 中的几行代码,在 Drupal 8 中它不会那么复杂,twig 可以吗?

0 投票
1 回答
77 浏览

php - Drupal 8(带树枝)开发

我们正在与几个开发人员一起开发一个 drupal 8 站点。因此,我们每个人在开发机器上都有自己的 drupal 实例(以避免因不同的模板文件状态和内容而出错),它们的设置如下:

  • /srv/www/devDudeA/html(实例 A 根)
  • /srv/www/devDudeB/html(实例 B 根目录)
  • /srv/www/devDudeC/html(实例 C 根目录)
  • 等等...

这些实例都连接到同一个数据库。在编写了一个 twig 扩展模块(提供必要的 twig 过滤器)并激活它之后,我的一些同事遇到了几个异常(说找不到模块),尽管他们肯定有和我一样的模块文件。

您知道使用来自不同主机的相同数据库会遇到麻烦吗?我怀疑缓存引起了麻烦(因为我在数据库中发现了一些包含“devDudeA”或“devDudeB”的路径条目。

我认为应满足以下要求:

  • 每个实例的同一目录中的相同模块文件
  • 来自(相同)数据库的相同模块信息

恕我直言,有 opcache 和 memcache。集成的树枝引擎也有自己的缓存。我们中的一个人启用了他的缓存而其他人没有启用缓存会是一个问题吗?

我只是对此感到疯狂(Ox)。你有什么相关的指示给我吗?

在此先感谢和亲切的问候!