画像スタイルから画像を再構築


58

Drupal 7には画像スタイルがあります。複数の画像をノードに添付し、このスタイルに基づいて画像を表示します。その後、この画像スタイルの効果を変更しましたが、既存の画像は新しい画像スタイルの効果で再作成されていません。古い画像スタイルの効果で表示されます。

新しい画像を添付すると、新しい効果が使用されます。既存の画像を削除して再アップロードすると、画像は古いエフェクトを使用します。

マニュアル(誤って想定)には、画像スタイルを保存するだけで再構築が発生することが記載されています:http : //drupal.org/documentation/modules/image

キャッシュをクリアしました。

再構築を強制するにはどうすればよいですか?


1
画像スタイルページにいるときに、実際にスタイル更新ボタンをクリックしましたか?いくつかのテストを行って、クリックすると、filesディレクトリに生成されたすべてのファイルが削除されることを確認しました。
Juampy NR

マニュアルは正しいです。エフェクトの追加、編集、削除などによって画像スタイルを変更すると、画像スタイルがフラッシュされます。ブラウザ(またはその間の別のキャッシュ)または派生物が削除されたときの権利の問題である可能性があります。
fietserwin

カスタムブラシコマンドを使用して画像を再生成しましたgist.github.com/typhonius/8599853
apostnikov

回答:



15

UIを介してDrupal 7の画像スタイル名をフラッシュするには、次のcontribモジュールを試してください。

http://drupal.org/project/imagestyleflush

画像スタイル名ごとにフラッシュオプションがあります。また、すべての画像スタイル名を一度にフラッシュするオプションもあります。

モジュールが有効になったら、管理UIで特定の画像スタイルをフラッシュするためにここに移動します。

admin/config/media/image-styles

9

これは画像スタイルのバグです。画像スタイルを編集しており、既に存在するエフェクトを編集している場合、画像は更新時にフラッシュされません。ただし、その効果を削除し(画像スタイルの削除についてではありません-特定の画像スタイル内の効果を削除します)、新しい効果を作成すると、更新時に画像がフラッシュされます。


関数image_effect_save()はimage_style_flush()を呼び出すので、これはバグではありません。
fietserwin

1
何かが呼び出されたからといって、それがバグではないという意味ではありません。あるべき時に機能が存在しない。それがバグの定義です
カークランド

3

別の簡単な方法があります。これは更新というよりは置き換えになりますが、正常に機能します。古いスタイルに基づいて新しいイメージスタイルを作成できますが、新しい機能(イメージアクション)を使用できます。次に、古いスタイルを削除します。削除の確認ページに、使用可能な画像スタイルのドロップリストがあり、これを使用して古いスタイルを置き換えることができます。これは標準の画像スタイルの置換関数です。


3

admin / config / media / image-stylesから必要なスタイルを編集します。

下部の[スタイルの更新]ボタンをクリックすると、スタイルフォルダー内の既存の生成されたすべてのイメージがフラッシュされ、新しいイメージが作成されます。


1

カスタムテンプレートがあり、画像フィールドのスタイルを強制する場合:

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

0

Drupal Consoleを使用している場合(そして、実際に直面してみましょう。なぜですか?)、次を使用できます。

drupal image:styles:flush image_style

または

drupal image:styles:flush image_style

ドキュメント:https ://docs.drupalconsole.com/en/commands/image-styles-flush.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.