在 twig/timber 主题中设置自定义占位符图像
Setting a custom place holder image in twig/timber theme
所以我遇到了一个 twig/timber
问题,我很难获得 placeimage 集,这是我目前所拥有的:
{% set defaultimg = site.theme.link ~ '/images/placeimage.png' %}
然后在我的代码中我有:
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
post.thumbnail.src 可以很好地提取图像,但如果 post 没有附加特色 Img,我希望 defaultimg
从我的自定义主题图像文件夹中提取图像。但目前这是输出一个真正错误的 url of:
<img src="https://toolcart.local/wp-contentC:\Users\User\Local Sites\toolcart\app\public\wp-content\themes\toolcart-theme\images/placeimage-360x240-c-default.png" class="card-img-top">
但是 {{defaultimg}}
可以正确输出图像 url。
https://toolcart.local/wp-content/themes/toolcart-theme/images/placeimage.png
我不确定接下来要尝试什么?
这是 twig/timber
定义路径的方式问题!!!超级奇怪的做事方式给项目增加了不必要的复杂性。
也就是说,根据 their documentation,您可以在 defaultimg
变量的末尾添加一个名为 relative
的过滤器,它将绝对值 URL 转换为相对的,它最终会输出正确的默认图像路径。
所以你的代码应该是这样的:
- 正在定义默认图像的路径:
{% set defaultimg = Image(site.theme.link ~ '/images/placeimage.png') | relative %}
注意:
| relative
过滤器可以解决这个问题。
- 在图片源属性中调用:
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
我刚刚测试了代码,它运行良好!让我知道你是否也能让它工作!
所以我遇到了一个 twig/timber
问题,我很难获得 placeimage 集,这是我目前所拥有的:
{% set defaultimg = site.theme.link ~ '/images/placeimage.png' %}
然后在我的代码中我有:
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
post.thumbnail.src 可以很好地提取图像,但如果 post 没有附加特色 Img,我希望 defaultimg
从我的自定义主题图像文件夹中提取图像。但目前这是输出一个真正错误的 url of:
<img src="https://toolcart.local/wp-contentC:\Users\User\Local Sites\toolcart\app\public\wp-content\themes\toolcart-theme\images/placeimage-360x240-c-default.png" class="card-img-top">
但是 {{defaultimg}}
可以正确输出图像 url。
https://toolcart.local/wp-content/themes/toolcart-theme/images/placeimage.png
我不确定接下来要尝试什么?
这是 twig/timber
定义路径的方式问题!!!超级奇怪的做事方式给项目增加了不必要的复杂性。
也就是说,根据 their documentation,您可以在 defaultimg
变量的末尾添加一个名为 relative
的过滤器,它将绝对值 URL 转换为相对的,它最终会输出正确的默认图像路径。
所以你的代码应该是这样的:
- 正在定义默认图像的路径:
{% set defaultimg = Image(site.theme.link ~ '/images/placeimage.png') | relative %}
注意:
| relative
过滤器可以解决这个问题。
- 在图片源属性中调用:
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
我刚刚测试了代码,它运行良好!让我知道你是否也能让它工作!