Display Suiteの2つのフィールドのいずれかを条件付きで表示しますか?


8

Display Suiteを使用して2つのフィールドのいずれかを表示するための賢い方法または優先される方法があるかどうか疑問に思っています。

したがって、私のケースでは、アップロードされている場合は画像、またはEVA(エンティティビューの添付ファイル)のいずれかが必要です。どちらも正しく表示されています。もちろん、画像がアップロードされていない(未入力の)場合、EVAフィールドは正常に表示されます。しかし、画像がアップロードされた場合、EVAフィールドを非表示にしたいと思います。

カスタムコードフィールドを作成することはできると思いますが、別のフィールドを選択する組み込みの方法がある場合は、それを避けたいと思います。たぶんフィールドグループで何か?

ありがとう!

回答:


2

唯一のオプションは、カスタムコードフィールドです。UIを使用して条件付きフィールドを作成する試みがありましたが、複雑すぎました。


1
それはおそらく良い解決策になるでしょうが、私はそれを唯一の選択肢とは言いません。EVAを前処理機能から非表示にしたり、画像が存在する場合に何も返さないようにEVAビューを構成したりすることもできると思います。
marcvangend、2011年

4

フィールドフォーマッタの条件モジュールを使用します。https//www.drupal.org/project/ffc

これにより、ブロック(およびその他)と同じオプションが提供されます。したがって、ブロックするのと同じように、任意のURLパターンに基づいてフィールドを表示できます。

http://cl.ly/image/2A2Y373Y3e1J

この助けを願っています。


0

このような問題には、フィールドUIのエンティティ表示プラグインを使用できます。

特にEVAで試したことはありませんが、特にビュー表示を埋め込むことができます。

ドリルダウンフォームをフィールドUIフォームに統合することは、現在少し不格好ですが、機能します。

Cfr Presetも有効にすることをお勧めします。

準備:

  • entdispfielduiを有効にする
  • オプションでcfrpresetを有効にする

[ディスプレイの管理]ページで:

  • 一番下までスクロールし、EntDisPフィールドを追加します。
  • フィールドをアクティブな領域に移動します。
  • ページ下部にある[保存]をクリックします。
  • EntDisPフィールドの構成を編集します(歯車をクリックします)。
  • 「責任のチェーン」、「フォーマッターのあるフィールド」または「プロセッサーのあるイメージ」を選択します。
  • サブフォームの「更新」をクリックします。
  • もう一度歯車をクリックして、フォームを再度開きます。
  • 「新しいアイテム」で「ビューの表示...」を選択します。ビューの表示IDを選択します。
  • サブフォームの「更新」をクリックします。
  • ページ下部にある[保存]をクリックします。

これで動作するはずですが、この構成をディスプレイ構成内に含めるのは面倒です。

これを回避するには、を使用できますcfrpreset

[ディスプレイの管理]ページで:

  • 歯車をもう一度クリックします。
  • 「エンティティの表示」のドリルダウン選択要素の横にマウスを置きます。
  • [プリセットを作成]をクリックします(新しいタブで開きます)。

[プリセットを追加]ページで:

  • プリセットの名前を選択します。
  • セーブ。

[ディスプレイの管理]ページで:

  • サブフォームがまだ開いている場合は閉じます。
  • 歯車をもう一度クリックします。
  • 作成したばかりのプリセットを選択します。
  • サブフォームの「更新」をクリックします。
  • ページ下部にある[保存]をクリックします。

オプションで、部分的な構成を新しいプリセットとしてエクスポートできます。

スクリーンショット

これらが多すぎないことを願っています。展開/折りたたみの機能があると便利です。

EntDisPフィールドを追加します。

EntDisPフィールドを追加します。

「フォーマッター付きフィールド」を使用した構成。

EntDisPフィールドを構成します。

「プロセッサ付きイメージ」を使用した代替構成。

「プロセッサー付きイメージ」を使用した代替構成。

プリセットとしてエクスポートします。

必要に応じて、プリセットとしてエクスポートします。

プリセットを保存します。

プリセットを保存します。

インプレース構成の代わりにプリセットを使用します。

インプレース構成の代わりにプリセットを使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.