在drupal 7中,我使用函数image_style_url('style', uri)生成带有样式的新图像,并返回图像的路径。那么,在drupal 8中,什么将代替它呢?谢谢
发布于 2014-07-15 12:43:15
use Drupal\image\Entity\ImageStyle;
$path = 'public://images/image.jpg';
$url = ImageStyle::load('style_name')->buildUrl($path);发布于 2015-12-01 16:55:05
您应该尽可能地使用新的Drupal函数。
相反,请使用:
use Drupal\file\Entity\File;
use Drupal\image\Entity\ImageStyle;
$fid = 123;
$file = File::load($fid);
$image_uri = ImageStyle::load('your_style-name')->buildUrl($file->getFileUri());按https://www.drupal.org/node/2050669编辑
$original_image = 'public://images/image.jpg';
// Load the image style configuration entity
use Drupal\image\Entity\ImageStyle;
$style = ImageStyle::load('thumbnail');
$uri = $style->buildUri($original_image);
$url = $style->buildUrl($original_image);发布于 2018-02-11 07:33:36
在您的控制器和Drupal的其他OOP部分,您可以使用:
use Drupal\image\Entity\ImageStyle;
$path = 'public://images/image.jpg';
$url = ImageStyle::load('style_name')->buildUrl($path);在YOUR_THEME.theme文件中,在Error: Class 'ImageStyle' not found in YOURTHEMENAME_preprocess_node中,您可以使用折叠
$path = 'public://images/image.jpg';
$style = \Drupal::entityTypeManager()->getStorage('image_style')->load('thumbnail');
$url = $style->buildUrl($path);另一种方法是提供一个可呈现的数组,并让drupal呈现引擎呈现它。
$render = [
'#theme' => 'image_style',
'#style_name' => 'thumbnail',
'#uri' => $path,
// optional parameters
];https://stackoverflow.com/questions/24754661
复制相似问题