Erstellen Sie Bilder aus dem Bildstil neu

58

Ich habe einen Bildstil in Drupal 7. Ich habe mehrere Bilder an einen Knoten angehängt und die Bilder basierend auf diesem Stil angezeigt. Ich habe dann die Effekte auf diesen Bildstil geändert, aber die vorhandenen Bilder werden nicht mit den neuen Bildstileffekten neu erstellt. Sie zeigen mit den alten Bildstileffekten.

Wenn ich neue Bilder anhänge, werden die neuen Effekte verwendet. Wenn Sie ein vorhandenes Bild löschen und erneut hochladen, verwendet das Bild die alten Effekte.

Das Handbuch (ich gehe fälschlicherweise davon aus) besagt, dass nur das Speichern eines Bildstils eine Neuerstellung bewirkt: http://drupal.org/documentation/modules/image

Ich habe den Cache geleert.

Wie erzwinge ich einen Neuaufbau?

Justin
quelle
1
Haben Sie auf der Seite " Bildstil" tatsächlich auf die Schaltfläche " Stil aktualisieren" geklickt ? Ich habe gerade ein paar Tests und überprüft , dass , wenn Sie darauf klicken, werden alle generierten Dateien im Dateien - Verzeichnis gelöscht.
Juampy NR
Das Handbuch ist korrekt. Durch Ändern eines Bildstils, z. B. durch Hinzufügen, Bearbeiten oder Löschen eines Effekts, wird der Bildstil gelöscht. Möglicherweise liegt es an Ihrem Browser-Cache (oder einem anderen dazwischen) oder an einem Rechteproblem, wenn die Derivate gelöscht werden.
fietserwin
Ich habe den benutzerdefinierten Befehl drush verwendet, um Bilder neu zu
generieren.

Antworten:

113

Beim Leeren des Caches werden die Bildstile nicht gelöscht: http://drupal.org/node/997332

Du könntest:

  • Löschen Sie sie manuell
  • benutze image_style_flush
  • benutze die Kommandozeile: rm -rf sites/default/files/styles
  • benutze Drush: drush image-flush
ipwa
quelle
9
drush image-flush style_name ist ein Glücksfall. :-)
Sean Robertson
15

Verwenden Sie dieses Contrib-Modul, um die Bildstilnamen in Drupal 7 über die Benutzeroberfläche zu löschen:

http://drupal.org/project/imagestyleflush

Sie erhalten eine Flush-Option für jeden Bildstilnamen. Es besteht auch die Möglichkeit, alle Bildstilnamen auf einmal zu löschen.

Sobald das Modul aktiviert ist, gehen Sie in der Admin-Benutzeroberfläche hier, um einen bestimmten Bildstil zu löschen:

admin/config/media/image-styles
tyler.frankenstein
quelle
9

Dies ist ein Fehler bei Bildstilen. Wenn Sie einen Bildstil bearbeiten und einen bereits vorhandenen Effekt bearbeiten, werden die Bilder bei der Aktualisierung nicht gelöscht. Wenn Sie jedoch diesen Effekt löschen (ich spreche nicht vom Löschen des Bildstils - löschen Sie den Effekt innerhalb des bestimmten Bildstils) und einen neuen erstellen, werden die Bilder beim Update gelöscht.

Laskiyt
quelle
Die Funktion image_effect_save () ruft image_style_flush () auf, das ist also kein Fehler.
fietserwin
1
Nur weil etwas aufgerufen wird, heißt das noch lange nicht, dass es kein Fehler ist. Funktionalität ist nicht da, wo sie sein sollte. Das ist die Definition eines Fehlers ...
Kirkland
3

Es gibt einen anderen, einfacheren Weg. Es ist eher ein Ersatz als ein Update, aber es funktioniert gut. Sie können einen neuen Bildstil erstellen, der auf dem alten basiert, aber mit den gewünschten neuen Funktionen (Bildaktionen). Löschen Sie dann den alten Stil. Auf der Löschbestätigungsseite finden Sie eine Dropdown-Liste mit verfügbaren Bildstilen, mit denen Sie die alte ersetzen können. Ich gehe davon aus, dass dies eine Standardfunktion zum Ersetzen von Bildstilen ist.

WtheM
quelle
3

Bearbeiten Sie den gewünschten Stil unter admin / config / media / image-styles.

Klicken Sie unten auf die Schaltfläche "Stil aktualisieren", um alle vorhandenen generierten Bilder im Stilordner zu löschen und neue zu erstellen.

Jeet
quelle
1

Wenn Sie eine benutzerdefinierte Vorlage haben und den Stil für ein Bildfeld erzwingen möchten:

 $style='full_content_width';
 $path=$node->my_img_field['und']['0']['uri'];
 $style_url = image_style_url($style, $path);
  print "<img src=".file_create_url($style_url)." >";
Matoeil
quelle