web-dev-qa-db-ja.com

ノード参照引数を使用してパネルを作成する方法

マルチユーザーサイトがあります。新規ユーザーが登録すると、いくつかのノード(ギャラリーノードなど)が自動的に作成されます。

所有者のプロファイルを表示する各ユーザー用のパネルページがあります。パネルは、さまざまなビューペインで構成されています。

他のコミュニティサイトと同様に、プロフィールページへの訪問者はコメント(テキスト+写真)を残すことができます。

そのために、そしてこれが正しいアプローチであることを願って私はパネルにコメントフォームを含めようとしています。 Johnのパネルページに残されたコメントがJackのパネルページに表示されないように、コメントフォームがそれぞれのノードに添付されています。ビューのフォームの下にコメントが表示されます。ビューは明らかに普遍的で、すべてのパネルページで同じです。

次に、コメントフォームに進みます。ユーザーが登録するときに作成される、特にコメント用のノードがあります。

ユーザーごとに異なる必要があることを知っているパネルコンテキストにそのノードのコメントフォームを含めるにはどうすればよいですか?

ノードコンテキストをパネルに渡すことができます。ただし、ノードIDが必要です。したがって、1つのノードに制限されます。別のノードIDが別のユーザーのページに読み込まれるように、ある種のトークンをサポートしていますか?もしそうなら、私はそれをどのように書くでしょうか?

これについて間違ったアプローチを使用している場合、どうすればいいですか?

誰かアイデアはありますか?

ありがとうございました。 :)

2
user14666

私のサイトにも同様の機能を実装しました。ユーザーが登録すると、そのユーザー専用に異なるコンテンツタイプのノードがいくつか作成されます。パネルも使用しています。

コンテンツを(ある程度)簡単にユーザーにリンクするために、 Relation モジュールを使用しました。これは Rules と統合されています。アカウントの登録時にコンテンツを作成した後、ユーザーとコンテンツの間に関係を作成しました(すべてルールを使用します-これを行う場合、ルールセットを作成し、1つのルールでコンテンツを作成してから、関係を作成する必要があります。次のルール;そうしないと、いくつかの奇妙なエラーが発生します)。

次に、Panelsコンテキストを使用せずに、(Relationモジュールから)リレーションを(Views UIで)リレーションシップとして追加することでコンテンツを取り込むビューでコンテンツペインを作成しました。

このアプローチの課題は、関係を取得してそれらをループするルールの設定がかなり複雑であることです。ルール統合を備えた Entity Reference モジュールを使用する方が簡単かもしれませんが、1年前にサイトを構築していたときに壊れていたため、代わりに、より複雑なRelationモジュールを使用しました。

1
Patrick Kenny

このサイトではコメントを5分以上編集できないため、これを使用する必要があります。

とにかく...

私はすべてを試しました。エンティティ参照のチュートリアルに従い、ユーザープロファイルのエンティティ参照フィールドを作成し、参照されたエンティティの関係をビューに追加しました。

必要な関係を作成するとすぐに、コンテキストフィルターに関係なく、何も表示されません。ペインビューと(新しく作成された)エンティティ参照ビューでこれを試しました。

また、逆に試してみました。エンティティ参照フィールドをコメントノードに追加し、手順を繰り返しましたが、何もしませんでした。 1つはノードでもう1つはユーザーであるため、機能しないのでしょうか。何も思いつきません。スクエアワンに戻りました。

それは非常に残念です。スクエアワンに戻りました。とにかく、私はあなたがやろうとしたことを本当に感謝しています。ありがとうございました。 :)

0
user14666