web-dev-qa-db-fra.com

Reconstruire des images à partir du style d'image

J'ai un style d'image dans Drupal 7. J'ai attaché plusieurs images à des nœuds et affiche les images basées sur ce style. J'ai ensuite changé les effets sur ce style d'image mais les images existantes ne sont pas recréés avec les nouveaux effets de style d'image. Ils apparaissent avec les anciens effets de style d'image.

Si j'attache de nouvelles images, elles utilisent les nouveaux effets. La suppression d'une image existante et le téléchargement à nouveau obligent l'image à utiliser les anciens effets.

Le manuel (à tort, je suppose) déclare que le simple fait d'enregistrer un style d'image provoque une reconstruction: http://drupal.org/documentation/modules/image

J'ai effacé le cache.

Comment forcer une reconstruction?

59
Justin

Vider le cache, ne videra pas les styles d'image: http://drupal.org/node/997332

Vous pourriez:

  • les supprimer manuellement
  • utilisez image_style_flush
  • utilisez la ligne de commande: rm -rf sites/default/files/styles
  • utiliser drush: drush image-flush
114
ipwa

Pour vider les noms de style d'image dans Drupal 7 via l'interface utilisateur, essayez ce module contrib:

http://drupal.org/project/imagestyleflush

Il vous donne une option de vidage pour chaque nom de style d'image. Il a également une option pour vider tous les noms de style d'image à la fois.

Une fois le module activé, dans l'interface d'administration, allez ici pour vider un style d'image particulier:

admin/config/media/image-styles
16
tyler.frankenstein

Il s'agit d'un bug avec les styles d'image. Si vous modifiez un style d'image et modifiez un effet déjà présent, les images ne seront pas vidées lors de la mise à jour. Cependant, si vous supprimez cet effet (je ne parle pas de supprimer le style d'image - supprimez l'effet dans le style d'image particulier) et en créez un nouveau, les images seront vidées lors de la mise à jour.

9
laskiyt

Il existe un autre moyen plus simple. C'est plus un remplacement qu'une mise à jour, mais cela fonctionne très bien. Vous pouvez créer un nouveau style d'image basé sur l'ancien, mais avec de nouvelles fonctionnalités (actions d'image) que vous souhaitez. Supprimez ensuite l'ancien style; sur la page de confirmation de la suppression, vous trouverez une liste déroulante avec les styles d'image disponibles, que vous pouvez utiliser pour remplacer l'ancien. Il s'agit d'une fonction de remplacement de style d'image standard, je suppose.

3
WtheM

Modifiez le style souhaité dans admin/config/media/image-styles.

Cliquez sur le bouton 'Mettre à jour le style' en bas, qui videra toutes les images générées existantes dans le dossier de style et en créera de nouvelles.

2
Jeet

si vous avez un modèle personnalisé et que vous souhaitez forcer le style pour un champ d'image:

 $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)." >";
1
Matoeil

Si vous utilisez Drupal Console (et avouons-le, pourquoi pas?), Vous pouvez utiliser:

drupal image:styles:flush image_style

Ou

drupal image:styles:flush image_style

Documenation: https://docs.drupalconsole.com/en/commands/image-styles-flush.html

0
featherbelly