2017-12-10 10 views
0

Drupal 7を使用して、コンテンツタイプに関係なく、使用中のすべてのイメージを識別するSQL文が必要です。画像はすべてノード本体にあり、公開されているもの、公開されていないもの、または改訂されていないものにのみ興味があります。ノード内のすべてのイメージを識別するSQLクエリ?

どこから始めたらいいですか?これは、SQLクエリ(またはDrushコマンド)でなければなりません。私たちはDrupalモジュールではできません。サイトの展開ウィンドウの外側にあるため、モジュールを作成した場合、必要な場所にモジュールを配置するには少なくとも2週間はかかりますこれを実行する。我々はprodサーバー上でSQLアクセスを持っています。私たちはシステムチームであり、開発者ではありません。

ありがとうございます!

+0

"すべての画像"とは何ですか? 「画像」フィールドタイプのすべてのフィールドまたは他の何か?ビューモジュールを使用することを検討してください。 – MilanG

+0

@milanG - 私たちはデプロイメントウィンドウの外にいるので、ビューモジュールは使用できません(ビューのUIは本番サーバーでは無効になっています)。現時点では、ノードの 'body'フィールド内の「img」タグを探しています。 – PeteCon

答えて

0

Drupalerが知っているすべての意味で "ノードボディ"を意味しますか? "ボディ"フィールド(1)か、単に "ノードのすべてが格納するもの"(2)ですか?

  1. DrupalのデフォルトのノードBodyフィールドは、長いテキストフィールドと画像は定期的に<img>タグとしてそこに配置することが可能です。それらの画像が必要なものなら、field_data_bodyテーブルを照会する必要があります。 video_embed_fieldなどのcontribモジュールを使用して画像やその他のオブジェクトを埋め込む可能性もあります。埋め込まれたデータをどのように格納するのか分かりません。

  2. この場合、すべての画像フィールドを最初に見つけ出す必要があります。すべてのフィールドとそのタイプのリストについては、field_configテーブルを参照してください。次に、すべてのフィールド(各フィールドは別のテーブル)にクエリを実行して値を取得できます。

単純なサイトでは比較的簡単ですが、より高度な設定でその道路に多くの隆起を見つけることができます。

+0

ありがとう!それは私にいくつかの道を与えました。最終的には、ノード内のすべてを見つける必要がありますが、実際のボディフィールドだけが出発点になります。 – PeteCon

関連する問題