web-dev-qa-db-ja.com

ビューインラインフィールドのように、Displayスイートを使用して2つのフィールドをマージする

ビューのインラインフィールドのように、Displayスイートを使用して2つ以上のフィールドをマージする方法はありますか?つまり、「Author」、「Publication date」、「Article series」というフィールドがある場合、「Author1 | 01-May-2012 | Learning series」などとして表示したいと思います。

4
Abhijit

可能なアプローチのリストは次のとおりです。

  • コードフィールド:これは、ディスプレイスイートのカスタムコードフィールドで実現できます。コードフィールドは、トークンとhtmlの使用をサポートしています。さらに、Display Suiteコードフィルターを使用して、php自体を使用できます。詳細はこちら: http://www.youtube.com/watch?v=mvFP16PJt4c

  • カスタムフォーマッタを使用します:より重い処理が必要な場合は、 カスタムフィールドフォーマッタモジュール を利用できます。

  • 前処理フィールド:さらに、「前処理フィールド」を介して前処理された変数にアクセスできます。前処理フィールドは、$ variables配列のキーの値を出力します。 Lullabot には、前処理フィールドの使用例があります。

  • Entity Views Attached:これは少し余分なオーバーヘッドになる可能性がありますが、evaモジュールをダウンロードすると、ビューを作成して現在のNIDを渡し、フィールドを結合できますビュー。これは、さまざまなフィールドでさまざまなフォトギャラリーを作成する必要がある場合などに役立ちます。

7
chrisjlee

フィールドグループモジュールをお試しください。 DSビューモードUI;)内にグループ化フィールド機能を提供します

1
purplemind

別のオプションは renderkit + entdispfieldui を使用することです。

renderkit 7.x-1.2には、EntityDisplayプラグイン「リスト形式のエンティティ表示のシーケンス」が含まれています。その中に一連のエンティティ表示を追加できます。

「フォーマッター付きフィールド」アイテムを追加する場合は、「フィールドディスプレイプロセッサー」を「フルリセット」に設定して、すべてのdivラッパーを削除し、インラインで表示する必要があります。

renderkit 7.x-1.3には、「投稿日」などを提供するEntityDisplayプラグインの「表示スイートフィールド」があります。

cfrpreset を使用して設定をプリセットとしてエクスポートし、フィールドUIの外で再利用および設定できるようにすると便利です。

詳細:

条件付きでDisplay Suiteの2つのフィールドの1つを表示しますか? に多くの詳細を追加しました。これの多くは類似しています。

警告:

  • このメソッドは、プロジェクトに多くの依存関係を追加します。これに価値があるかどうかは、自分で決める必要があります。
  • フィールドUIサブフォームへのドリルダウンフォームの統合は、少し不格好です。しかし、最終的には機能します。
  • シーケンスにアイテムを追加するには(ここでは、エンティティはアイテム#0、アイテム#1などを表示します)、新しいアイテムごとにフォームを送信/再度開く必要があります。これは少し迷惑ですが、存続可能です。

以下は設定例です。

enter image description here

1
donquixote