web-dev-qa-db-ja.com

ノード参照を変更してビューページを含めることはできますか?

「関連ページ」がノードのノード参照CCKフィールドであるサイトがあります。作成者は、ノード参照のオートコンプリート機能を使用して、関連ページ(1つ以上)をノードに追加できます。

私の質問は次のとおりです。CCKノード参照フィールドを拡張して、非ノードを含めることは可能ですか?この場合、ページを表示しますか?

3
wiifm

関連するビューに個別の viewfield を使用してテーマを設定し、nodereferencesとviewfieldsが同じリストに表示されるようにすることができます。

link を使用して、毎回フルパスを入力したくない場合はカスタムウィジェットを使用することもできます。

いくつかのサイトでは、ビューのページ表示をまったく使用しませんでした(または非常に使用することはめったにありません)。代わりに、ビューをノードにアタッチし、常にそのノードを介してビューを参照しました。これは、私の広告バナーシステムがnodereferencesに基づいていたためです。これは最も拡張可能なアプローチではありませんが、それらのサイトで機能しました。

4
Andy

ノードとビューの間にはいくつかの大きな違いがあります。ノードはいくつかのデータ(タイトル、CCKなど)ですが、ビューはデータベースにクエリを実行することによって構築されます。

とはいえ、ビューを参照することは可能でしょう。私は、ノード参照フィールドを拡張しようとするアプローチではないと思います。代わりに、独自のタイプのCCKフィールドを作成する必要があります。 CCKの使い方を知らない限り、これはあなたが望むよりもはるかに多くの作業になる可能性があります。

また、ビューは表示の可能性が高いため、ノードよりも複雑であることにも注意してください。ビューにはさまざまなディスプレイが無数に存在する可能性があるため、ビュー名だけでなくディスプレイも保存する必要があります。

ソリューションはおそらく非常に技術的になり、エキスパートユーザーのみが使用できるようになります。ノードでPHPフィルターを使用することには反対ですが、より簡単な解決策は、PHPスニペットを挿入してあなたが望むビュー。views_embed_view呼ばれていると思います。これが、cckフィールドフォーマッタで必要なものです。

2
googletorp

@wiifmがノード参照のみをハイパーリンクとして使用することを検討していたため、別のソリューションを追加するだけです。 Linkitモジュール+リンク+ Linkitビューは、かなり小さな検索ウィジェットとWYSIWYGボタン+ IMCE統合のフィールドを提供します。

チェックインする設定の1つ (私の質問に対する)リンクを表示する私の回答 設定について。

0
Duncanmoo