Ricostruisci le immagini dallo stile dell'immagine


58

Ho uno stile di immagine in Drupal 7. Ho allegato diverse immagini a un nodo e visualizzo le immagini in base a questo stile. Ho quindi modificato gli effetti su questo stile di immagine ma le immagini esistenti non vengono ricreate con i nuovi effetti di stile di immagine. Mostrano con i vecchi effetti di stile dell'immagine.

Se allego nuove immagini, usano i nuovi effetti. L'eliminazione di un'immagine esistente e il nuovo caricamento fanno sì che l'immagine utilizzi i vecchi effetti.

Il manuale (presumo erroneamente) afferma che il semplice salvataggio di uno stile di immagine provoca una ricostruzione: http://drupal.org/documentation/modules/image

Ho cancellato la cache.

Come posso forzare una ricostruzione?


1
Hai effettivamente fatto clic sul pulsante Aggiorna stile quando ti trovavi nella pagina Stile immagine? Ho appena fatto alcuni test e verificato che quando fai clic su di esso, tutti i file generati nella directory dei file vengono eliminati.
Juampy NR,

Il manuale è corretto La modifica di uno stile di immagine, ad esempio aggiungendo, modificando o eliminando un effetto, annulla lo stile di immagine. Potrebbe essere la cache del browser (o un'altra in mezzo) o un problema di diritti quando i derivati ​​vengono eliminati.
Fietserwin,

Ho usato il comando di trascinamento personalizzato per rigenerare le immagini gist.github.com/typhonius/8599853
apostnikov

Risposte:



15

Per scaricare i nomi degli stili di immagine in Drupal 7 tramite l'interfaccia utente, prova questo modulo contrib:

http://drupal.org/project/imagestyleflush

Ti dà un'opzione di scarico per ogni nome di stile immagine. Ha anche un'opzione per svuotare contemporaneamente tutti i nomi degli stili di immagine.

Una volta abilitato il modulo, nell'interfaccia utente dell'amministratore vai qui per scaricare un particolare stile di immagine:

admin/config/media/image-styles

9

Questo è un bug con stili di immagine. Se si sta modificando uno stile di immagine e si modifica un effetto già presente, le immagini non verranno scaricate durante l'aggiornamento. Tuttavia, se elimini quell'effetto (non sto parlando di eliminare lo stile dell'immagine - elimina l'effetto all'interno del particolare stile dell'immagine) e ne crei uno nuovo, le immagini verranno scaricate all'aggiornamento.


La funzione image_effect_save () chiama image_style_flush (), quindi questo non è un bug.
Fietserwin,

1
Solo perché qualcosa viene chiamato non significa che non sia un bug. La funzionalità non è presente quando dovrebbe essere. Questa è la definizione di un bug ...
Kirkland,

3

C'è un altro modo più semplice. È più una sostituzione che un aggiornamento, ma funziona benissimo. Puoi creare un nuovo stile di immagine basato su quello vecchio, ma con le nuove funzionalità (azioni immagine) che desideri. Quindi eliminare il vecchio stile; nella pagina di conferma dell'eliminazione, troverai un elenco a discesa con gli stili di immagine disponibili, che puoi utilizzare per sostituire quello vecchio. Questa è una funzione standard di sostituzione dello stile dell'immagine, presumo.


3

Modifica lo stile desiderato da admin / config / media / image-styles.

Fai clic sul pulsante "aggiorna stile" in basso per scaricare tutte le immagini generate esistenti nella cartella degli stili e crearne di nuove.


1

se hai un modello personalizzato e vuoi forzare lo stile per un campo immagine:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.