在 Symfony2 应用程序中,我使用 Twig 的 attribute以通用方式显示产品属性的函数:我有一个属性名称数组,并循环显示属性:
{% for property in arrayProperties %}
{{ attribute(entity, property)|trans }}
{% endfor %}
这些属性可以是文字或数字,例如:
- 描述:文字
- number_of_X:整数
- size_of_Y: float (比例=2)
- size_of_Z: float (比例=5)
问题是 float 属性以这种方式显示:
size_of_Y : 0.42
size_of_Z : 0.84848
虽然我想显示带有逗号分隔符,但这样:
size_of_Y : 0,42
size_of_Z : 0,84848
我似乎无法使用 number_format函数紧接在属性函数之后,因为它将转换 0
中的我的 litteral 值的,即使我可以找到一种方法来测试显示的值是数字还是文字值( is_numeric
ish 函数),我也无法确定属性的规模(后面有多少个数字)我应该显示的逗号,它是 number_format
) 的第一个参数。
是否有通用方法来更改 Twig 显示这些属性的方式?
在我的 Twig 的配置(config.yml)中,我已经有了:
number_format:
decimals: 0
decimal_point: ','
thousands_separator: ' '
这似乎适用于应用程序的其余部分,我不使用 attribute
显示属性的函数。
谢谢!
最佳答案
您需要编写自己的 Twig 扩展来处理此问题:
关于symfony - Twig的属性函数: formatting numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33102918/