まず、不適切な用語を使用した場合の謝罪-私はまだDrupal初心者です!
Drupal 6とCCK、ビュー、日付、カレンダー、リンク、場所、GMapを使用してバンドのWebサイトを作成しています。ここには、GigとVenueの2つのコンテンツタイプの懸念があります。
「Venue」コンテンツタイプには、すべての住所情報を格納するLocationフィールドがあります。また、 "Venue Website"(field_venue_website)など、他のフィールドもあります。
[Create Gig]ページのオートコンプリートフィールドで、[Venue]コンテンツタイプから既存のベニューを検索し、オートコンプリートドロップダウンリストに次の形式でベニューを表示します。
[場所名]、[市]、[国]
しかし、できれば次のように、Gigページで利用できるように、より多くの情報を抽出したいと思います。
[場所の名前] <-できれば、会場のページへのリンクとして[ストリート] [追加] [市] [州/県] [郵便番号] [国] [会場のウェブサイト] <-これは別のフィールドであることを忘れないでください。場所フィールドからではありません。
次のようにして、目標を部分的に達成しました。
これにより、必要に応じてオートコンプリートドロップダウンリストが表示されます。提出すると、結果は会場のページへのリンクとして[ロケーション名]になります。
しかし、オートコンプリートで認識されるのは会場の[場所名]だけです。たとえば、次の2つの会場があるとします。
ケンティッシュタウンフォーラム、ロンドン、イギリス
タンブリッジウェルズフォーラム、ケント、イギリス
「フォーラム」と入力し始めると、上記のようなドロップダウンの候補リストが表示されます。すごい!しかし、「UK」や「London」と入力しても何も表示されません。
それが役立つ場合は、ビューをプレビューしたときに生成されるクエリを次に示します。
SELECT node.nid AS nid,
location.name AS location_name,
location.city AS location_city,
location.country AS location_country,
node.title AS node_title
FROM drupal_node node
LEFT JOIN drupal_content_type_gig node_data_field_gig_venue ON node.vid = node_data_field_gig_venue.vid
LEFT JOIN drupal_node node_node_data_field_gig_venue ON node_data_field_gig_venue.field_gig_venue_nid = node_node_data_field_gig_venue.nid
LEFT JOIN drupal_location_instance location_instance ON node.vid = location_instance.vid
LEFT JOIN drupal_location location ON location_instance.lid = location.lid
WHERE node.type in ('venue')
ここに私の質問があります:
どんな助けでも大歓迎です!前もって感謝します!
[編集]
後述するように、私は何が起こっているのかを発見しました:
オートコンプリートフィールドは、入力されたテキストを受け取り、「会場」コンテンツタイプのどのノードタイトルがこのテキストに一致するかを確認します。次に、私のビューを使用して結果を表示し、フォーマットします。これは説明する画像です:
入力されたテキストをチェックするとき、ノードのタイトルをチェックする代わりに、なぜビューを無視するのですか?
私はあなたの質問に対する代替案を持っています。モジュール Automatic Nodetitles を使用して、コンテンツタイプのCCKフィールドから[Location name], [City], [Country]
の形式で会場のタイトルを自動的に作成できます。つまり、場所名に追加のテキストフィールドを使用する必要があり、3つのフィールドを組み合わせるためにタイトルが自動的に作成されます。
このソリューションは、都市と国が会場コンテンツタイプタイトルを使用するすべての場所に表示されることを意味します。それが必要なものに適合するかどうかを判断する必要があります。
Venueで、必要なフィールドのコンテンツを使用して計算フィールドを作成し、そのフィールドを使用できます。
&3.ノード参照を取得したら、ギグのテンプレートを使用して、必要なフィールドを表示できます。または、ビューを使用することもできます。