【发布时间】:2019-03-19 19:41:12
【问题描述】:
我用 customtemplate_preprocess_image 函数编写了一个自定义模板。
在这个函数中,我只能使用 $variables['uri'] 来加载相同的图像,但图像样式不同。 uri 的格式如下: '/sites/default/files/styles/image_xs/public/2019-02/IMG_20181219_135712499_0.jpg?itok=1faUCioy'
如果我现在这样做
$style = ImageStyle::load('image_lightbox');
$image = \Drupal::service('image.factory')->get($variables['uri']);
if ($image->isValid()) {
print("Image url: ".$variables['uri'].'<br>');
}
else {
print("Image invalid: ".$variables['uri'].'<br>');
}
它呈现“图像无效:/sites/default/files/styles/image_xs/public/2019-02/IMG_20181219_135712499_0.jpg?itok=1faUCioy
为什么?只有这个 uri 我该如何解决这个问题?
【问题讨论】:
-
你能得到图像target_id吗?然后,使用 getSource 以便从基础图像而不是派生图像开始。见api.drupal.org/api/drupal/…