木材图像 - 使用自定义尺寸

时间:2017-08-09 19:54:30

标签: wordpress twig timber

在我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问题?任何帮助表示赞赏,可能会指出我正确的方向。

1 个答案:

答案 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') }}