twig 相关问题

Twig是一款适用于PHP的现代,快速,灵活且安全的模板引擎。为Symfony创建并由Drupal 8采用。

将 twig 变量传递给 Vue.js 3 组件

我需要在现有的 Twig 模板上实现 Vue.js 3。问题是,如果我在 main.ts 上安装应用程序,它会自动覆盖主应用程序 div 中的所有内容。 主要.ts: 导入{创建...

回答 1 投票 0

在 if 语句中可以使用 in_array 或类似的方法吗?

我使用 Twig 作为模板引擎。然而,我遇到的情况肯定是可以用比我发现的更简单的方式来完成的。 我现在拥有的是这样的: {% for myVar 在某些...

回答 8 投票 0

如何在Twig中检查null?

我应该使用什么构造来检查 Twig 模板中的值是否为 NULL?

回答 8 投票 0

将不可转义的变量传递给 Twig 模板

我需要在 Twig 中显示未转义的变量。我知道 template raw 和 unescape 函数和过滤器,但在这里使用它们有点复杂。 是否可以定义变量 unescape...

回答 1 投票 0

当一个对象以小写形式引入时,如何修复 Symfony 中的“加载的类名和声明的类名之间的大小写不匹配”错误?

第一个 symfony 项目,我尝试制作一个类似 imdb 的网站。当我通过 parm 转换器路由中实例化对象的链接从一个页面 (season_show) 转到另一个页面 (episode_show) 时,我的对象之一是

回答 2 投票 0

Twig 高亮单词(Timber 插件)

我使用 WordPress 的 Timber 插件。 我创建了一个结果搜索页面。我想突出显示用户搜索的单词。 在 PHP 中我写道: $突出显示=数组(); 如果($条款){ 为...

回答 3 投票 0

如何替换树枝中的断线

我想使用 TWIG 用 PHP 变量的值填充 JavaScript 数组。 var cont=new Array(); {% 为关键,在帖子中发帖 %} 续[{{键}}] = "{{...</desc> <question vote="28"> <p>我想使用 TWIG 用 PHP 变量的值填充 JavaScript 数组。</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var cont=new Array(); {% for key, post in posts %} cont[{{ key }}] = &#34;{{ post.content }}&#34;; {% endfor %} &lt;/script&gt; </code></pre> <p>问题是我的<pre><code>post</code></pre>变量有几行,所以上面的代码将JS命令分成几行,即翻译为几个命令,并且我有一个错误。</p> <p>所以我认为我需要将所有“新行”替换为“ ”.</p> <p>我尝试这样做:</p> <pre><code>cont[{{ key }}] = &#34;{{ post.content | replace({&#34;\n&#34;:&#34;&lt;br&gt;&#34;}) }}&#34;; </code></pre> <p>但这并没有帮助。它仍然保持很少的行...</p> </question> <answer tick="false" vote="32"> <p>对于类似的问题(将用户数据输出到Javascript),我发现以下是必要的:</p> <pre><code>post.content|replace({&#34;\n&#34;:&#39; &#39;, &#34;\r&#34;:&#39; &#39;}) </code></pre> <p>即。将 <pre><code>\r</code></pre> 以及 <pre><code>\n</code></pre> 替换为空格。这是因为某些用户输入的内容(尤其是 Windows 上的用户)可能包含 <pre><code>\r</code></pre>(回车符)以及换行符,如果不删除,这些内容似乎仍然会破坏 Javascript。</p> <p>对我来说,nl2br 不适合,因为我将用户内容输入 Javascript 方法(用于将用户输入的地址添加到 Google 地图,因为它的价值),所以我不想要任何换行符、HTML或其他方式。</p> </answer> <answer tick="false" vote="24"> <p>使用 Twig 编写一些 javascript 的最佳方法(也是好方法)(如果你不想<pre><code>\r\n</code></pre>)是这样的:</p> <pre><code>{{ example|e(&#39;js&#39;) }} </code></pre> <p>替换 <pre><code>&lt;br /&gt;</code></pre> 当然可以,但是在使用数据中的数据的 javascript 中你会遇到其他问题。使用 javascript escape,它将完美地按照您期望的方式编写有效的 javascript。</p> <p>有关转义过滤器的更多信息:</p> <p><a href="https://twig.symfony.com/doc/3.x/filters/escape.html" rel="nofollow noreferrer">https://twig.symfony.com/doc/3.x/filters/escape.html</a></p> </answer> <answer tick="false" vote="13"> <p>有nl2br过滤器:<a href="http://twig.sensiolabs.org/doc/filters/nl2br.html" rel="noreferrer">http://twig.sensiolabs.org/doc/filters/nl2br.html</a></p> </answer> <answer tick="false" vote="13"> <p>使用<pre><code>{{ post.content | nl2br }}</code></pre></p> </answer> <answer tick="false" vote="7"> <p>如果您只想拆下刹车线,这是行不通的:</p> <pre><code>{{ post.content | replace({&#34;\n&#34;:&#34;&#34;}) }} </code></pre> <p>'\'是一个特殊的符号,所以需要转义它。这会起作用:</p> <pre><code>{{ post.content | replace({&#34;\\n&#34;:&#34;&#34;}) }} </code></pre> </answer> <answer tick="false" vote="2"> <p>你必须使用 {% spaceless %}{% endspaceless %} 标签,像这样,</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var cont=new Array(); {% for key, post in posts %} cont[{{ key }}] = &#34;{% spaceless %}{{ post.content }}{% endspaceless %}&#34;; {% endfor %} &lt;/script&gt; </code></pre> <p>享受;-)</p> </answer> <answer tick="false" vote="0"> <p>为什么不使用<a href="https://twig.symfony.com/doc/3.x/filters/nl2br.html" rel="nofollow noreferrer">内置过滤器</a>?</p> <pre><code>{{ post.content | nl2br }} </code></pre> </answer> </body></html>

回答 0 投票 0

在 Assetic 资产中翻译 JavaScript 文字字符串的最佳方法是什么?

我正在使用 Symfony2 开发一个可翻译的应用程序。该应用程序启用了 Assetic,可以缩小并组合 *.js 和 *.css 文件。然而,我有一个我写的 jQuery 插件,...

回答 3 投票 0

Twig - 如何随机化数组中的项目并循环它们?

如何随机化数组中的项目并循环它们? {% for item.resources|shuffle|slice(1) %} ... {% 结束 %} 我收到此错误: “部分/内容中未知的“随机播放”过滤器......

回答 5 投票 0

在 twig 中使用 merge() 时,键值被“key”替换

我正在尝试将键值对添加到数组中,其中包含所有不以“_”开头的属性的当前值。由于某种原因,合并将“key”(即 slug)的值替换为...

回答 3 投票 0

如何使用SonataMediaBundle获取twig中的图像路径?

我正在使用 SonataMediaBundle 来跟踪我的图像。我可以使用 Sonata 的助手在 twig 中渲染图像: {% 媒体用户.profilepic, '参考' %} 这将渲染成 我正在使用 SonataMediaBundle 来跟踪我的图像。我可以使用 Sonata 的助手在 twig 中渲染图像: {% media user.profilepic, 'reference' %} 这将渲染成 <img src="the src"> 但是,我想要获得的是裸路径,所以我可以例如向我的img添加一个类。比如: <img class="img-responsive" src="{{ asset(user.profilepic) }}"> 显然,asset(user.profilepic)返回的不是路径,而是对象,而该对象似乎不包含图像的路径。 编辑 也找到了我的部分答案: {% set foo %} {% path image, 'small' %} {% endset %} <img src="{{ asset(foo) }}" alt=""/> 显然,可以将块的输出设置为变量,然后将其传递给资产函数。 有一个文档供帮助者 有多种选择。媒体助手支持指定类 {% media media, 'small' with {'class': 'myclass'} %} 您还可以使用“路径”助手仅渲染路径: {% path media, 'small' %} 自 media-bundle 3.x 起,这些是: 渲染缩略图: {{ sonata_thumbnail(media, 'small') }} {{ sonata_thumbnail(media, 'small', {'class': 'myclass'}) }} 渲染媒体: {{ sonata_media(media, 'small') }} {{ sonata_media(media, 'small', {'class': 'myclass'}) }} 渲染路径: {{ sonata_path(media, 'small') }} 渲染 sonata.media.provider.file 上下文的路径: {{ sonata_path(media, 'reference') }} 文档:https://docs.sonata-project.org/projects/SonataMediaBundle/en/3.x/reference/helpers/

回答 2 投票 0

Twig:如何获取字符串中的最后一个字符

我在那里, 我试图找到树枝中字符串的最后一个字符。 我需要做的是,如果字符串以 s 结尾,那么我只添加 ' Zone,如果字符串末尾没有 s,我就...

回答 4 投票 0

初学者如何编辑现有的 PHP TWIG 网站

我继承了我的体育俱乐部的“旧”网站,我需要在网站上做一些小的编辑(因为我们没有钱聘请专业程序员)。我可以编写 HTML、CSS 和一些 sim...

回答 1 投票 0

将 twig 转换为 tpl

我尝试将twig转换为tpl,以便能够在2,3,0中使用3,0,0付款扩展。 树枝线 我尝试将 twig 转换为 tpl 以便能够在 2,3,0 中使用 3,0,0 付款扩展。 树枝线 <select name="payment_special_mode" class="form-control"> <option value="1" {{ payment_special_mode? 'selected' : '' }}>{{ text_enabled }}</option> <option value="0" {{ payment_special_mode? '' : 'selected' }}>{{ text_disabled }}</option> </select> <select name="payment_special_mode" class="form-control"> <option value="1" {{ payment_special_mode? 'selected' : '' }}>{{ text_enabled }}</option> <option value="0" {{ payment_special_mode? '' : 'selected' }}>{{ text_disabled }}</option> </select> 前往tpl线路 <select name="payment_special_mode" class="form-control"> <?php if ($payment_special_mode) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?> </option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select> 这是正确的吗 是的,我做到了,但没有成功,仍然在管理扩展行中可见,但有文本。用了opencartbot转换器,转换了大部分,但是有4行没有。检查了所有文件和文件夹。 读了很多标题,问了很多论坛,我找不到办法。如果我能以正确的方式将 twig 转换为 tpl,则在 3,0,2 扩展中必须有效。 我还将 user_token 更改为 token,$data['token'] = $this->session->data['token']

回答 0 投票 0

Sulu CMF - 平面导航中的排序顺序

除了主导航之外,我想使用第二个导航上下文来显示主页页脚中的链接。 {% for sulu_navigation_root_flat('footer_support', 4) %} 中的项目 ... 除了主导航之外,我想使用第二个导航上下文来显示主页页脚中的链接。 {% for item in sulu_navigation_root_flat('footer_support', 4) %} <li><a href="{{ sulu_content_path(item.url) }}" title="{{ item.title }}">{{ item.title }}</a></li> {% endfor %} 到目前为止,这是有效的。问题在于页脚链接的排序顺序。该顺序与后端项目的顺序不匹配,我也找不到更改该顺序的方法。有人可以给我提示吗? 订单与管理员中的订单一致。 如果您想在页脚中对项目进行不同的排序,则可以在主导航中使用 Sulu 的“内部链接”功能创建一个新的节点/页面。 创建一个新页面,保存该页面,将其放在页脚导航所需的位置,然后转到该页面/节点的页面“设置”选项卡,将其添加到“页脚导航”,更改“输入”到“内部链接”。这样您就可以在页脚或其他导航的任何位置添加链接。

回答 1 投票 0

使用twig变量动态调用导入的宏子函数

我正在尝试是否使用变量来调用特定的宏名称。 我有一个正在导入的宏文件 {% import 'form-elements.html.twig' 作为表单 %} 现在该文件中有所有表格

回答 3 投票 0

通过模板覆盖js插件选项

我在覆盖 Twig 的 JS 插件选项时遇到问题。 我的 JS 插件选项如下所示: 静态选项= { 配置器:{ 开始选项卡索引: 0, 启动模型:空,

回答 1 投票 0

Shopware 6 - 通过模板覆盖 js 插件选项

我在从 twig 覆盖我的 JS 插件选项时遇到问题。也许有人可以帮助我。 我的 Js 插件选项如下所示: 静态选项= { 配置器:{ 开始选项卡索引: 0,

回答 1 投票 0

Twig 在其路径生成中访问 Alpine 对象

我刚刚开始同时使用 Alpine 和 Symfony。 在其中一个模板中,我有以下代码: 函数 getRandomBook() { 返回 { 书:空, ...</desc> <question vote="-1"> <p>我刚刚开始同时使用 Alpine 和 Symfony。</p> <p>在其中一个模板中,我有以下代码:</p> <pre><code>&lt;script&gt; function getRandomBook() { return { book: null, refreshBook() { this.book=null; fetch(&#39;https://api/books/random&#39;) .then((res)=&gt;res.json()) .then((data)=&gt;{ this.book=data.data[0]; }); } }; } &lt;/script&gt; ... &lt;a href=&#34;{{ path(&#39;book_detail&#39;, {&#39;bookid&#39;: book.bookid}) }}&#34;&gt;.... &lt;/a&gt; ... </code></pre> <p><pre><code>book_detail</code></pre> 是我的 Symfony <pre><code>routes.yaml</code></pre> 中定义的路线。它应包含一个 <pre><code>bookid</code></pre>,单击时会转到该书的详细信息页面。</p> <p>我当前的问题是:<pre><code>book</code></pre>没有传递到模板;相反,它应该由脚本填充。因此,页面的渲染向我显示了一个树枝错误:<pre><code>book is not defined</code></pre>。</p> <p>我希望我的 Twig <pre><code>{{}}</code></pre> 能够访问这个 JS 填充的对象。</p> <p>我可以采用这样的巧妙方法:</p> <pre><code>&lt;a x-bind:href=&#34;&#39;{{ path(&#39;book_detail&#39;, {&#39;bookid&#39;: &#39;dummy&#39;}) }}&#39;.replace(&#39;dummy&#39;, book.bookid)&#34;&gt; </code></pre> <p>但我想知道是否可以做得更好。</p> <p>感谢您的帮助。</p> </question> <answer tick="false" vote="0"> <p>我会这样做:</p> <pre><code>function getRandomBook() { return { basePath: &#34;{{ path(&#39;book_detail&#39;) }}&#34;, fullUrl: &#34;&#34;, book: null, refreshBook() { this.book = null; fetch(&#39;https://api/books/random&#39;) .then((res)=&gt;res.json()) .then((data)=&gt;{ this.book=data.data[0]; // if needed this.fullUrl = this.basePath + &#34;?&#34; + data.data[0]; }); } }; } </code></pre> <p>然后:</p> <pre><code>&lt;a x-bind:href=&#34;fullUrl&#34;&gt; &lt;/a&gt; </code></pre> </answer> </body></html>

回答 0 投票 0

布局中的 Symfony 6 搜索表单 (base.html.twig)

我一直面临一个搜索表单的问题,我想将其包含在布局/模板base.html.twig中,以便它在我的网站上除主页之外的任何地方都可用。当我尝试包括...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.