Я решил это, создав свой собственный Twig Filter.
Вы можете сделать это, создав собственный модуль, обнажив это. Фильтр.
Не стесняйтесь использовать его повторно.
Код
namespace Drupal\twig_extender\TwigExtension;
use Drupal\node\Entity\Node;
use Drupal\Core\Link;
use Drupal\Core\Url;
use Drupal\file\Entity\File;
use Drupal\image\Entity\ImageStyle;
class Images extends \Twig_Extension {
/**
* Generates a list of all Twig functions that this extension defines.
*/
public function getFunctions(){
return array(
new \Twig_SimpleFunction('image_style', array($this, 'imageStyle'), array('is_safe' => array('html'))),
);
}
/**
* Gets a unique identifier for this Twig extension.
*/
public function getName() {
return 'twig_extender.twig.images';
}
/**
* Generate images styles for given image
*/
public static function imageStyle($file_id, $styles) {
$file = File::load($file_id);
$transform = array();
if (isset($file->uri->value)) {
$transform['source'] = $file->url();
foreach ($styles as $style) {
$transform[$style] = ImageStyle::load($style)->buildUrl($file->uri->value);
}
}
return $transform;
}
}
Использование
{% set transform = image_style(image.entity.fid.value, ['thumbnail', 'large']) %}
Тогда у вас есть доступ к исходному изображению & стилей
{{ transform.source }}
{{ transform.thumbnail }}
{{ transform.large }}
Надеется, что это поможет йо У парня!
Я также фактически нашел в настройках типа содержимого, вы можете отображать все изображения для этого типа контента, которые должны быть из Image Style X. Поэтому я мог бы сделать это из своего ответа или вашего, но ваш лучше imo. – Kato
Какую переменную следует использовать для «изображения»? content.field_bloc_1_image.entity не работает, например: s –
Я не мог заставить это работать. Он не использует стиль изображения? У меня есть {% set image = content.field_global_image | merge ({'# image_style': 'thumbnail'})%} {{image}} – paulcap1