web-dev-qa-db-ja.com

imagecacheプリセットによって生成されたファイルの再構築/生成を強制するにはどうすればよいですか?

Imagecacheプリセットの1つでアクションを編集しましたが、生成された写真は数百枚ではなく数枚にすぎません。

ティーザーサムネイルと呼ばれるモジュールを使用して、特定のコンテンツタイプのノードに属するサムネイルを表示するビューでプリセットを使用しています。ビューの最初のページのすべてのサムネイルは正しく生成されていますが、それを超えると、サムネイルはどれも生成されていません。

Drupal 6.25を共有ホスティングサーバーのパブリックファイルシステムで使用しています。

それで、主な質問は、プリセットに関連付けられた画像をどのように強制的に再構築/再生成するかです。

編集:プリセットで「フラッシュ」機能をすでに使用しています。

3
bcosynot

画像キャッシュ画像は、プリセットを作成したり、画像をフラッシュしたりするのではなく、ブラウザが要求したときに即座に生成されます。

基本的に、これはプロセスが機能する方法です。

URLが404になると、リクエストは_/index.php_にパントされ、Drupalによって処理されます。

Imagecacheモジュールには、_sites/default/files/imagecache_(またはサイトに対してhook_menu()が返すもの)へのすべてのリクエストを処理するfile_directory_path()エントリがあります。

このコールバックは、要求されたファイル名をチェックします。ファイルが存在する場合(つまり、派生物が生成され、ファイルシステムに存在する場合)、そのファイルが提供されます。それ以外の場合、モジュールは派生物を作成し、それをファイルシステムに保存してから提供します。

したがって、最終的には、デリバティブを明示的に生成する必要はありません。それらを含むページがリクエストされると、それらは自動的に生成されます。

パフォーマンス上の理由でそれらを事前に生成したい場合は、_sites/default/files_ディレクトリ内のすべての画像を検索するbashスクリプトを記述し、適切なimagecacheプリセットパス名でそれらを取得することをお勧めします。

ページを見ているときにサムネイルが表示されない場合は、別の問題があります。最初に確認するのは、システムレポートの確認です。通常、ウェブサーバーがファイルシステムに書き込めないか、画像ツールキットがめちゃくちゃになっています。

3
mpdonadio