我实际上是在获取预处理文件中图像的宽度和高度。
我设法使用管理员在媒体/样式中定义的样式来生成图像,但是无法渲染所生成图像的宽度和/或高度(有人会说我应该将其硬编码在树枝文件中,但是我实际上对学习如何获取稍后需要的元素很感兴趣:))
这是我用来获取某种内容类型的图像的方法:假设我的字段的计算机名称为“ field_image”,而我的内容类型为“ article”;
if(!empty($node->field_image->entity->getFileUri())){
$style = ImageStyle::load('medium');
$image = $node->field_image->entity;
$variables['image'] = [
'src' => $style->buildUrl($image->getFileUri())
];
}
Run Code Online (Sandbox Code Playgroud)
之后,我需要在node--article.tpl.php中做的就是:
<img src="{{ image.src }}" />
Run Code Online (Sandbox Code Playgroud)
但是我也在尝试获取width和height属性,有人能解决吗?
谢谢!
小智 5
if ($node = \Drupal::routeMatch()->getParameter('node')) {
if ($node->hasField('field_image')) {
$imageField = $node->field_image;
$properties = $imageField->getProperties();
}
}
Run Code Online (Sandbox Code Playgroud)
$ properties将包含您要查询的属性数组。$ imageField是Drupal \ image \ Plugin \ Field \ FieldType \ ImageItem类的实例。您可以在这里阅读文档https://api.drupal.org/api/drupal/core%21modules%21image%21src%21Plugin%21Field%21FieldType%21ImageItem.php/class/ImageItem/8.2.x
| 归档时间: |
|
| 查看次数: |
6438 次 |
| 最近记录: |