将文本附加到 Twig 中的变量

Posted

技术标签:

【中文标题】将文本附加到 Twig 中的变量【英文标题】:Appending a text to a variable in Twig 【发布时间】:2014-03-17 21:50:07 【问题描述】:

我正在尝试使用 ~(波浪号)运算符连接 Twig 中的字符串。这是我的情况,我尝试了不同的方法:

% set class = 'original_text' %

# First try : the most obvious for me, as a php dev #
% class ~= 'some_other_text' %

# Second try #
% class = class ~ 'some_other_text' %

# Third try #
% class = [class, 'some_other_text'] | join(' ') %

# Fourth try : the existing variable is replaced #
% set class = [class, 'some_other_text'] | join(' ') %

# 
    Then do another bunch of concatenations.....
#

以上都不起作用。

我还有一些条件,每次都需要添加一些文字。像这样工作的东西:

% set class = 'original_text ' %

% class ~= 'first_append ' %
% class ~= 'second_append ' %
% class ~= 'third_append ' %

结果

 class 

应该是:

original_text first_append second_append third_append

你知道怎么做吗?

谢谢!

编辑:原来是 CSS 错误,连接进行得很顺利....

【问题讨论】:

【参考方案1】:

从 twig 1.5 开始,您可以使用 string interpolation,这对您来说非常有用:

% set class = 'original_text' %

# Checkout the double quotes #
% set class = "#class some_other_text" %

也可以这样使用:

% set class = "#class some_other_text #class" %
class 

最后一个将显示类似“original_text some_other_text original_text”的输出

【讨论】:

【参考方案2】:

您可以使用 set 标记将字符串与变量连接起来。从您的示例中,我们可以重写这些行,

% set class = 'original_text' %
% set class = class ~ ' some_other_text'%

我们可以像这样打印新的class变量来展示,

class 

它会像这样显示输出,original_text some_other_text

【讨论】:

谢谢,但正如我所说,有几个串联要做。如果我做一个或多个额外的集合 class=.... ,之前的连接就会丢失 事实上,这是一个 CSS 错误,连接是正确的......我接受你的回答,这是正确的做法!

以上是关于将文本附加到 Twig 中的变量的主要内容,如果未能解决你的问题,请参考以下文章

将文本附加到包含文本的现有字段

无法将文本附加到 C++ 中的特定位置

如何将文本附加到 Java 中的现有文件?

PHP将变量附加到地址栏中的url

PHP将文件文本附加到所有javaScript文件

根据下拉选择将文本附加到单元格值