1

必要に応じて並べ替えて表示できるように、コンテンツ タイプの特定のフィールドにアクセスする必要があります。インストール権限がないため、Views モジュールを使用できません。そのため、クエリといくつかの php マジックを使用してこれを行う必要があります。

Drupal 7 のフィールドのテーブル名について非常に役立つ情報をいくつか受け取りましたが、フィールド値の構成/規則とそれらが格納される場所が 6 から変更されたようです。

Drupal 7 で、各コンテンツ タイプ フィールドが個別のテーブルに格納されていることがわかりました。グループと呼ばれるフィールドがあると仮定すると、テーブル名は「field_data_field_group」になります。

しかし、私の Drupal 6 サイトでこの規則を使用しようとすると、このテーブルが存在しないと表示されます。

私の質問は、フィールドが格納されているテーブルの名前は何ですか? それとも Drupal 7 とは全く違うシステムですか?ご覧いただきありがとうございます。

4

1 に答える 1

2

Drupal 6の場合は、次の2つの場所を調べてください。

  1. Drupal 6データベースで、content_ [your_field_name]という名前のテーブル(たとえば、content_field_brief_description)を探します。SELECT *を実行して、そのフィールドテーブルにある行が存在する場合はそれを確認します。

  2. content_type_ [your_content_type]というテーブル(たとえば、content_type_resource)を探します。そのテーブルで同じことを行い、そのコンテンツタイプに関連付けられている可能性のあるタイトル/本文以外のフィールドの列がそのテーブルにあるかどうかを確認します。

それがうまくいったかどうか教えてください!


編集:

サンプルコード:

$result = db_query("SELECT * FROM {table_name}");
while ($row = db_fetch_array($result)) {
   // do something like drupal_set_message(var_dump($row));
}

中括弧はそのままにしておきますが、現在使用しているテーブル名に置き換えてください...

于 2012-05-23T15:25:37.513 に答える