Ich löse dies durch die Erstellung meiner eigenen Twig Filter.
Sie können dasselbe tun, indem Sie Ihr eigenes Modul erstellen, das diesen Filter ausstellt.
Fühlen Sie sich frei, es wieder zu verwenden.
-Code
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;
}
}
Nutzungs
{% set transform = image_style(image.entity.fid.value, ['thumbnail', 'large']) %}
Dann haben Sie Zugriff auf das Quellbild & Arten
{{ transform.source }}
{{ transform.thumbnail }}
{{ transform.large }}
es Hoffnung wird helfen, yo Du Typ!
Ich auch tatsächlich in den Inhaltstyp Einstellungen gefunden, können Sie alle Bilder für diesen Inhaltstyp von Image Style X. So könnte ich es aus meiner Antwort oder Ihre, aber Ihre ist besser imo. – Kato
Welche Variable soll ich für "image" verwenden? content.field_bloc_1_image.entity funktioniert nicht zum Beispiel: s –
Ich konnte das nicht zum Laufen bringen. Es verwendet nicht den Bildstil? Ich habe {% set image = content.field_global_image | merge ({'# image_style': 'thumbnail'})%} {{image}} – paulcap1