问题标签 [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 投票
1 回答
582 浏览

symfony - 使用 Symfony Twig Bridge 集成 Symfony Routing 和 Twig

我在我的代码中使用了 Twig 和 Symfony 路由,我想使用 Symfony Twig Bridge 与 Twig 集成。

我已经安装了它们,我需要做的是添加到需要 Symfony\Component\Routing\Generator\UrlGenerator 的 Twig 扩展 Symfony\Bridge\Twig\Extension\RoutingExtension。

UrlGenerator 需要 2 个参数:

  • 路线集合
  • 请求上下文

所以在我的 yaml 服务文件中,我有:



最后是 UrlGenerator:

不幸的是@router 不是路由集合类型。它有方法 getRouteCollection 允许获取 UrlGenerator 所需的数据,如果我手动添加扩展名,它就可以工作。从控制器。但我不想在不同文件之间拆分服务定义,而是希望将它们保留在 yaml 服务定义中。

所以问题是:如何将参数作为参数传递给 UrlGenerator,而不是原始对象 Router,而是 getRouteCollection 的结果?

0 投票
2 回答
813 浏览

html - 生成相当于树枝文件的 HTML 模板?

我想知道是否可以{filename}.html为每个生成{filename}.html.twig?我知道一种解决方案是从浏览器复制和粘贴源代码,但是有没有更有效的方法呢?

先感谢您。

0 投票
1 回答
1732 浏览

wordpress - 如何配置 twig 和 Timber 以翻译带有 {% trans %} 标签的完整 twig 模板

我一直在尝试使用 {% trans %} 标签使 Timber 渲染和翻译模板。

我使用 poedit 和 Twig-Gettext-Extractor 创建了一个 .po 翻译文件,但找不到使其与 Timber 一起使用的方法。我通过 Timber hook 向 twig 添加了 i18n 国际化扩展,get_twig但我无法将我的 wordpress 主题配置为工作。我从twig docs这里尝试了不同的东西,但没有成功。

是否有人使用带有 {% trans %} 标签的 Timber 和 twig 模板并希望共享其配置?

0 投票
1 回答
1115 浏览

php - 在 Symfony 3 中使用注入服务注册自定义树枝扩展会导致错误

我正在使用 Symfony 3.1.3,并且我有一个名为“@app.actionmanager”的服务,它希望将自己注入到 Twig 扩展中以显示可用的操作(这是“@app.actionmanager”的职责)。事实是,每次我运行时:

我收到以下错误:

[LogicException] 无法注册扩展“actionmanager_twig_extension”,因为扩展已被初始化。

扩展声明如下:

如果我删除服务的注入就没有问题。如果我将此类服务的注入更改为另一个(例如@service_container),我会不断收到相同的错误。

似乎在树枝扩展中注入服务会停止将其注册到树枝中,直到其余服务已注册。

我搜索了互联网,没有其他人有这个问题,所以我想我一定做错了什么,只是我不知道是哪个。

你能帮我吗?

PS对不起我的英语不好,这不是我的母语。


编辑:显示 app.actionmanager 声明:


更新:塞拉德是对的。@app.actionmanager 由编译器传递使用。编译器通行证导致此问题。我删除它,一切正常。

我需要编译器传递来构建 app.actionmanager,所以现在我的解决方法是删除 twig 扩展并直接访问 app.actionmanager,将它作为 twig 中的全局变量重新注册。

¿ 有没有其他方法可以做到这一点?

编译器传递文件:

0 投票
0 回答
697 浏览

symfony - 使用 Twig_SimpleFilter

我使用了一个不推荐使用的 twig 函数,Twig_Filter_Function。我想改用 Twig_SimpleFilter 。我不是 100% 确定如何使用它。

这是我目前拥有的;

现在Twig_SimpleFilter至少需要两个参数,一个$name,一个$callable就是这两个参数。现在我不能 100% 确定更换 Twig_Filter_Function。这两个参数应该是什么?两个都可以的随机名称,第二个这样的“is_numeric”和“number_format”可以吗?

我已经这样尝试过了,似乎还可以。我只是想 100% 确定,还是我现在应该以完全不同的方式来做?请问有什么帮助吗?

0 投票
1 回答
754 浏览

php - php twig 获取传递给扩展函数渲染的变量

我发誓我已经用谷歌搜索过这个并试图理解文档,但我就是不明白。我正在编写一个 twig 函数,我无法理解的是如何访问从函数内部传递给 render 的变量。

所以如果我有这个注册我的扩展并调用渲染:

而example.html就是{{ myfunc('foo') }} 我如何从MyExtension中的myfunc内部访问变量'obj':

0 投票
1 回答
704 浏览

symfony - Symfony2.7:Twig 渲染控制器()忽略我的参数

我遇到了一个 symfony exeption 和我尝试获取的一些参数的问题。我完全不知道为什么在对我的代码和互联网进行数千次检查后会出现这个异常。

例外是:

在@Blog\Default\Blog\singlePost.html.twig 中的模板渲染过程中引发了异常(“缺少一些强制参数(“slug”)以生成路由“blogcomment_create”的 URL。”) 29.

路线配置:

我的树枝模板中的代码用于导入我的控制器:

我的行动声明:

我开始对这个例外感到生气,我不知道为什么要得到她,我真的需要一双好眼睛。

我尝试了大量的例子:

如何在 Symfony 2.2 中使用“渲染”在 Twig 中插入控制器?

symfony2 - 树枝 - 如何从树枝模板内部渲染树枝模板

渲染控制器动作时通过参数更改模板?

...

这里是函数的转储:

0 投票
1 回答
509 浏览

php - 在 Symfony 3 中自动包含动作专有的 JS/CSS

我经常有一些 CSS 规则和 JavaScript 函数,它们仅在由单个控制器操作呈现的单个 Twig 文件中使用。我为这些 CSS 规则和 JavaScript 函数使用单独的文件,并像这样构造它们:

捆绑文件结构

Jd34TestController在这个捆绑包中有一个控制器,其中包含frontActionand requestAction,渲染front.html.twigand request.html.twig。两个 Twig 文件都包含一个常见的 Twig 文件,app/Resources/views/base.html.twig. 我正在寻找一种自动(神奇地)包含Jd34Test/front.jsJd34Test/front.css何时Jd34Test/front.html.twig呈现的方法,并且对于请求操作和任何其他操作都是相同的。如果这些 css/js 文件中的任何一个不存在,它应该跳过包含并且不抛出异常。

自动化的最佳方法是什么?我尝试使用Twig_Extension函数和宏,但是根据$this->requestStack->getCurrentRequest()->get('_controller').

0 投票
1 回答
2597 浏览

symfony - Twig 截断阅读更多链接

我想使用 Twig 的截断过滤器。它工作正常。

我想使用链接作为第三个论点,以阅读有关该文章的更多信息。但它不起作用。

这是代码:

出来的是这样的:

因此,链接在<p>. 我怎么解决这个问题?

0 投票
1 回答
1422 浏览

symfony - 在 twig (drupal 8) 中允许沙盒策略中的新方法

使用“字段集合”模块时出现此错误:

导致问题的代码是这个:

解决此问题的最佳方法是什么?是通过将 (uri) 添加到沙盒策略中的允许方法吗?如果是,那么我该怎么做?

我在树枝文档中读到我可以做这样的事情:

但我不明白如何或在哪里放置这段代码。

提前致谢