web-dev-qa-db-fra.com

Comment force la reconstruction / génération de fichiers générés par un préréglage ImageCache?

J'ai édité les actions sur l'un de mes préréglages d'imagecache, mais cela n'a généré que quelques images (au lieu de centaines) de photos.

J'utilise le préréglage dans la vue pour afficher les vignettes qui appartiennent à des nœuds d'un type de contenu spécifique à l'aide d'un module appelé Teaser thumbnail. Toutes les vignettes de la première page de la vue ont été générées correctement, mais au-delà de cela, aucune des vignettes n'a été générée.

J'utilise Drupal 6.25 avec système de fichiers public sur un serveur d'hébergement partagé.

La principale question est donc de savoir comment rétablir/ré-générer avec force les images associées à la préréglage?

EDIT: J'ai déjà utilisé la fonction 'Flush' sur le préréglage.

3
bcosynot

Les images Imagecache sont générées à la volée lorsqu'un navigateur les demande plutôt que lorsque vous créez le préréglage ou rincez les images.

Fondamentalement, c'est ainsi que le processus fonctionne.

Lorsqu'une URL 404S, la demande devient puntée à /index.php Et géré par Drupal.

Le module ImageCache a une entrée hook_menu() qui gère toutes les demandes de sites/default/files/imagecache (Ou autre file_directory_path() retourne pour votre site).

Le rappel de ces chèques pour le nom de fichier demandé. Si le fichier existe (c'est-à-dire que le dérivé a été généré et existe dans le système de fichiers), il est servi. Sinon, le module fait le dérivé, l'enregistre au système de fichiers, puis le sert.

Donc, le résultat net est que vous n'avez pas besoin de générer explicitement les dérivés. Lorsqu'une page qui les a demandé est demandée, ils seront générés automatiquement.

Si vous souhaitez les pré-générer pour des raisons de performance, ma suggestion serait d'écrire un script Bash pour trouver toutes les images de votre répertoire sites/default/files, Puis de les embêter avec le nom de chemin de préréglage imagecache approprié .

Si vous regardez une page et que les vignettes ne sont pas montrées, vous avez un autre problème. Vérification du rapport système serait le premier endroit à vérifier. En règle générale, le serveur Web ne peut pas écrire sur le système de fichiers ou votre boîte à outils d'image est gâchée.

3
mpdonadio