如何用树枝上的一个字符增加字符串变量的值?
How to increment the value of a string variable with one character on twig?
我是 twig 的新手,我正在尝试将存储在变量中的字母的值更改为下一个字母。我试过这样的事情:
{% set i = "a" %}
{% for answer in answers %}
{{ "("~ i ~")"}} {{ answer.content }}
{% set i = i + 1 %}
<br>
{% endfor %}
预期的输出类似于:
(a) YES
(b) -1
(c) YES
我做了一些研究,但找不到直接的方法。可能有解决方法,但我想知道是否有直接的方法。
在此先感谢您的帮助。祝你有个美好的一天。
在 Twig 中没有任何内置方法可以做到这一点。
您可以创建自己的 Twig extension 并在其中处理此逻辑。
您应该使用 chr function to convert your $i
variable (as an integer) into a letter. There is the famous mapping ACSI table 来帮助您实现 twig 扩展。
如果您只想使用字母字符,那么在您的申请中可能有超过 26 个问题时,您必须小心。否则,您将显示 [
或 {
字符。
如果有不清楚的地方,请不要犹豫:)
您不能“增加”twig 中的字母。
但是您可以生成字母 a-z 的列表并在循环中访问它们:
{% set letters = range('a','z') %} # generate an array of letters a-z
{% for answer in answers %}
({{ letters[loop.index0] }}) {{ answer.content }} # access letter by loop index
<br>
{% endfor %}
这适用于最多 26 个答案。
附录:也许是 XY-Problem。你也可以使用 css 并让浏览器来做,而不是自己在 twig 中做。
ol {
list-style-type:lower-alpha;
}
<ol>
<li>answer 1</li>
<li>answer 2</li>
<li>answer 3</li>
</ol>
我是 twig 的新手,我正在尝试将存储在变量中的字母的值更改为下一个字母。我试过这样的事情:
{% set i = "a" %}
{% for answer in answers %}
{{ "("~ i ~")"}} {{ answer.content }}
{% set i = i + 1 %}
<br>
{% endfor %}
预期的输出类似于:
(a) YES
(b) -1
(c) YES
我做了一些研究,但找不到直接的方法。可能有解决方法,但我想知道是否有直接的方法。
在此先感谢您的帮助。祝你有个美好的一天。
在 Twig 中没有任何内置方法可以做到这一点。
您可以创建自己的 Twig extension 并在其中处理此逻辑。
您应该使用 chr function to convert your $i
variable (as an integer) into a letter. There is the famous mapping ACSI table 来帮助您实现 twig 扩展。
如果您只想使用字母字符,那么在您的申请中可能有超过 26 个问题时,您必须小心。否则,您将显示 [
或 {
字符。
如果有不清楚的地方,请不要犹豫:)
您不能“增加”twig 中的字母。
但是您可以生成字母 a-z 的列表并在循环中访问它们:
{% set letters = range('a','z') %} # generate an array of letters a-z
{% for answer in answers %}
({{ letters[loop.index0] }}) {{ answer.content }} # access letter by loop index
<br>
{% endfor %}
这适用于最多 26 个答案。
附录:也许是 XY-Problem。你也可以使用 css 并让浏览器来做,而不是自己在 twig 中做。
ol {
list-style-type:lower-alpha;
}
<ol>
<li>answer 1</li>
<li>answer 2</li>
<li>answer 3</li>
</ol>