0

この質問には 2 つの部分があります。

まず、スタイル設定された一連の画像の URL を見つける必要があります。Druapl テーブルからこれらの画像の URI を見つけることができます。スタイル付き画像の URL を取得するには、Drupal の image_style_url(style, uri) を使用できます。画像フィールドとスタイルの対応情報を格納する drupal テーブルはどれ?

また、これらの URL を効率的に見つける必要があります。画像ごとに image_style_url(style, uri) を 1 回呼び出す以外の方法はありますか? image_style_url(style, uri) を何度も呼び出す代わりに、データベース クエリを実行して URL (近い値) を取得できますか。image_style_url を呼び出すたびにデータベース クエリが生成され、コストがかかると思います。

Drupal7を使用しています。

ご意見ありがとうございます!!!

乾杯。

4

1 に答える 1

0

フィールドのインスタンス設定で、画像フォーマッタに使用されるスタイルを見つけることができます。これは次のように取得できます。

$entity_type = 'node';
$field_name = 'field_some_field';
$bundle = 'page'; // for example

$info = field_info_instance($entity_type, $field_name, $bundle);

// Get the image style for a teaser display
$teaser_style = $info['display']['teaser']['settings']['image_style'];

これが十分に効率的かどうかはあなたの判断にお任せしますが、とにかく設定は db テーブルのシリアル化された PHP 文字列に保存されるため、どのように見てもクリーンな選択を行うことはできません。それで。上記のコードよりも簡単にこれを行う方法があれば、私は非常に驚かれることでしょう。

于 2012-11-28T11:07:52.370 に答える