在我https://github.com/timber/timber/
上提出问题之前在此发布此信息我想显示一个自定义大小的ACF图像,如:
<img src="{{ image.sizes.medium }}" width="{{ image.sizes.medium-width }}" height="{{ image.sizes.medium-height }}" alt="{{ image.alt }}" title="{{ image.title }}">
这里是image
数组
Array
(
[id] => 473
...
[width] => 768
[height] => 400
[sizes] => Array
(
[thumbnail] => http://assets.url.com/uploads/image-150x150.jpg
[thumbnail-width] => 150
[thumbnail-height] => 150
[medium] => http://assets.url.com/uploads/image-300x300.jpg
[medium-width] => 300
[medium-height] => 300
[medium_large] => http://assets.url.com/uploads/image-768x400.jpg
[medium_large-width] => 768
[medium_large-height] => 400
...
)
)
但当然,破折号将破坏事情,所以我不能。有没有更正确的方法来执行此操作,还是应该将其作为github中的问题发布?或者这可能是ACF问题?任何帮助表示赞赏,可能会指出我正确的方向。
答案 0 :(得分:2)
如果在Twig中有数组,则使用点表示法只是访问其内容的一种方法。您还可以访问与在PHP中执行操作时相同的内容through the so-called subscript notation:
<img src="{{ image.sizes.medium }}"
width="{{ image.sizes['medium-width'] }}"
height="{{ image.sizes['medium-height'] }}"
alt="{{ image.alt }}" title="{{ image.title }}">
这仅适用于数组。如果您在对象的属性名称中有破折号,那么您必须使用attribute()
。以下是Twig文档中的示例:
{{ attribute(foo, 'data-foo') }}