別のコンテンツのフィールド内容を参照する方法について教えてください

Events happening in the community are now at Drupal community events on www.drupal.org.
beginner01's picture

はじめまして。
表題の件について質問させてください。

コンテンツAのフィールド「参加者」をコンテンツBのフィールド「氏名」で
参照・選択させたいと考えております。

しかし、フィールド「氏名」で目的とした参照がされず、困っております。
対処方法のご教授、間違いの指摘等、お願いいたします。

(私はdrupal初心者であり、phpなどは触ったことがありません。
今回のようなレベルの質問をしてもよいか迷いましたが、対応策を見つけることができず、
先に進めなくなってしまいました。
よって、皆様の知恵を貸していただこうと思い質問させていただきました。
不適切な説明や質問になってしなっていましたら申し訳ありません。)


※詳細についてのfileも添付させていただきました
【目的】
・コンテンツAのフィールド「参加者」の情報をコンテンツBのフィールド「氏名」で
 参照させ、その中から氏名の選択をしたい

【実施内容】
①コンテンツA作成。
  ・タイトル ※コース名を入力
  ・フィールド:参加者
  ・本文
    ※参加者はテキストで名前入力。(複数人登録)

②コンテンツBで参照させるためにVIEW作成
  ・コンテンツAのフィールド:参加者の一覧を表示するよう作成

③コンテンツB作成。
  ・タイトル ※報告書名を入力
  ・フィールド:氏名
  ・本文
    ※氏名はノード参照。高度な設定で上記で作成したview指定

【実施結果&問題点】
・コンテンツBを作成した結果、フィールド:氏名で参加者一覧が表示されなかった
  ⇒コンテンツAのタイトルごとに1名しか表示されない
    例)山田太郎 タイトル:Aコース (Aコースの参加者は複数名存在)
      田中一郎 タイトル:Cコース (Cコースの参加者は複数名存在)
    
    ※作成したview(②)のプレビューでは全参加者名が表示

*************************************************************** 

以上、よろしくお願いいたします。

AttachmentSize
フィールド表示.pdf29.32 KB
B表示結果.pdf71.24 KB
B用に作成したview.pdf31.22 KB
VIEWのフィルタ設定変更.pdf12.92 KB
GROUP.pdf29.81 KB

Comments

blauerberg's picture

質問の内容が非常に良く整理されていて、読みやすかったです。

2-3は、Entity Referenceモジュールをお使いでしょうか?
Entity Referenceディスプレイの内容が出力されるのはノードの編集画面であって、
通常のノードの閲覧時の表示内容はコンテンツタイプのフィールドの表示設定がコントロールしているような気がします。

また、実際にコンテンツBを表示した結果のキャプチャを貼ってもらえると助かります。

beginner01's picture

返信、ありがとうございます。

コンテンツBの表示結果を添付させていただきました(添付資料:B表示結果)。

※返信や新しいコメントで資料を添付する方法がわからず、最初の質問viewに
資料を添付させていただきました。

また、前回、使用しているdrupalのversion情報の記載が抜けておりました。
申し訳ありません。

Drupal 6.12を使用しております。

よって、Entity referenceは使用しておりません。

また、有効にしているview関連のモジュールは下記のみです。
 ・views     (ver 6.x-2.5)
・views exporter (ver 6.x-2.5)
・views Calc   (ver 6.x-1.3)
・views UI    (ver 6.x-2.5)

通常のノードの閲覧時の表示内容はコンテンツタイプのフィールドの表示設定が
コントロールしているような気がします。

view作成時のフィールド定義箇所でコンテンツAの参加者フィールドを定義して
参加者の一覧を表示できるようにしました。
(添付資料:B用作成view)

この時、フィルタでノード:コンテンツタイプ(コンテンツA)を指定しているのですが、
このフィルタによる表示制限を受けて、コンテンツAのタイトルに依存した結果
(各タイトルの参加者の最初のメンバーのみが表示された)が表示されたのでしょうか?

上記の可能性も考慮し、フィルタでもコンテンツ:コンテンツAの参加者(not NULL)を
選択して表示させてみましたが、結果は同じでした。
(添付資料:viewのフィルタ設定変更)

view作成時の指定が間違っているのでしょうか?
または、フィールド設定でノード参照した時に指定したviewは
ノード:タイトルの影響を受け、制限がかかってしまうものなのでしょうか?
よって、Entity referenceのようなモジュールで、必要な情報を抜き出せるように
するしか方法はないのでしょうか?

わかりにくい質問表現になってしまい、申し訳ありませんが
よろしくお願いいたします。

B用のViewの参加者フィールドで、"Group

blauerberg's picture

B用のViewの参加者フィールドで、"Group multiple values"のチェックが外れていませんか?
上記チェックを外した場合、複数名を登録しても氏名が1名分しか表示されないはずです。

返信ありがとうございます

beginner01's picture

返信、ありがとうございます。

フィールドのグループ化の設定ですが、下記のように1行にすべて名前が表示され、
各氏名が選択できないため、チェックをはずしておりました。

例)

氏名1氏名2氏名3 -タイトル:Aコース   ・・・①
氏名2氏名4氏名5氏名6 -タイトル:Bコース ・・・②
氏名3氏名5氏名6 -タイトル:Cコース   ・・・③

※氏名1を選択したい場合、①を選択
  ⇒氏名1以外の名前&タイトルが入った行しか選択できない

※実際の画面を再度最初のviewに添付させていただきました(添付:GROUP)

【目的とする選択】

氏名1 ←氏名1のみを選択したい
氏名2
氏名3
氏名2
氏名4
氏名5
・・・

グループ化したまま、トリミングしたらどうなるかなども試してみましたが
目的表示通りにできませんでした。

しかし、グループ化というヒントをいただいたので、
グループ化のカスタマイズ?のようなことができるモジュールを
再度探してみたいと思います!

また見つけられなかった場合、質問させてください。

以上、よろしくお願いいたします。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: