Ich habe immer noch mein hier beschriebenes Problem. Bildstil, Bild im Feldsammlungselement wiederverwenden, aber ich habe aufgegeben, um eine Lösung zu finden.
Eine Problemumgehung, die mir in den Sinn kam, besteht darin, die Erzeugung von Bildstilen auf Nodesave zu erzwingen. Gibt es dafür Möglichkeiten?
Die beiden Antworten mit Codeblöcken sind größtenteils richtig, außer dass sie eine wichtige Sache übersehen:
Es wird erwartet, dass das erste Argument von image_style_create_derivative ein Bildstil-Array ist.
Was sie passieren, ist nur der Name des Stils. Im foreach, wenn Sie hinzufügen:
$style = image_style_load($style_name);
Ändern Sie dann $ style_name in $ style in der Funktion image_style_create_derivative, damit es wie erwartet funktioniert, und generieren Sie das gestaltete Bild.
image_style_create_derivative($style, $file->uri, $derivative_uri);
Hoffe, das hilft allen anderen, die dieses Problem haben.
quelle
Vielen Dank für Ihre Hilfe Clive, meine gesamte Funktion für die Feldsammlungselemente: (ein weiterer hilfreicher Beitrag von Ihnen: Zugriff auf eine Feldsammlung )
quelle
Es scheint ein Modul für dieses Problem zu geben: https://www.drupal.org/project/imageinfo_cache
Schauen Sie sich auch den Abschnitt "Verwandte Module" auf der Seite an.
quelle
Es wird empfohlen, sowohl hook_node_insert () als auch hook_node_update () zu verwenden und zu überprüfen, ob die erforderlichen Bildableitungen nicht generiert werden, und sie dann zu generieren, andernfalls nichts zu tun.
Hinweis: Wenn Ihr Bildfeld mehrere Bilder aufnimmt, sollten Sie diese folgendermaßen durchlaufen:
Die Generierung der Bildstile erfolgt von hier aus
quelle