web-dev-qa-db-ja.com

特定のフィールドを参照するには?

段落をこの段落の親ノードの別のフィールドにリンク/同期する必要があります。

バックグラウンド:

すべての私のノードには、厳密に構造化されたデータ用のいくつかのノードタイプ固有のフィールドがあります(たとえば、製品ノードには製品画像と価格があり、ロケーションノードには地理位置情報フィールドがあります)。すべてのノードは、構造化されていないデータ(マーケティングテキスト、感情的なイメージ、箇条書きなど)の多くの段落タイプを持つ1つの巨大な繰り返し段落「一般コンテンツ」フィールドを共有します。基本的に、その段落は一種のサイト構築ツールとして使用されます。

要件:

次に、ノードの構造化データフィールドを「汎用コンテンツ」段落フィールド内に表示する必要があります。これにより、編集者は構造化コンテンツと汎用コンテンツ段落を混在させて移動できます。

うまくいきませんでした:

私の最初のアイデアは、編集者がベースフィールドを選択できるフィールドタイプへのエンティティ参照を持つ段落を作成することでした。ただし、オートコンプリートを現在のノードのフィールドに制限できないため、実際には機能しませんでした。無効なエントリが多く含まれた使用できないリストが表示されていました。

質問:

ノード内のフィールドへの参照を作成する方法はありますか?マウスとエディターに適したソリューションである必要があります。私のエディターはDrupal Adminでトレーニングを受けていますが、コードにアクセスできません。

1
Hudri

技術的には、フィールド構成エンティティに参照フィールドを追加できます。しかし、そこでオプションを制限することはできませんし、すべてのフィールドを許可したくないと確信しています。とにかく、これにはカスタムのテーマロジックが必要です。それだけでフィールド名を選択できます。

フィールドにリンクすることはできませんvalue、エンティティとフィールドの組み合わせには独自の識別子がありません。

私があなたを正しく理解している場合、最も簡単なオプションは、次のような許可された値を持つカスタムリストフィールドを作成することです。

field_name_a |フィールドA field_name_b |フィールドB

必要な数のフィールドを使用します。また、許可されたオプションのコールバックを登録し、現在のページ/ノードタイプに基づいてオプションを動的に制限することもできますが、これは少しトリッキーです。

次に、選択したフィールドの値を段落の親から取得してレンダリングする、その段落タイプの前処理/小枝テンプレートにカスタムロジックが必要です。

2
Berdir