テーマに頼らず コンテンツのフィールドとしてViewsを埋め込み表示する方法

カテゴリ コンテンツの作成 コアバージョン 8.9.x 関連モジュール Display sweet, Views, Twig Tweak, Views field formatter

ユーザー別にテーマを切り替えたり、コンテンツ共通のパーツなど、レンダリング前に 汎用パーツを コンテンツに埋め込み表示したい場合がある。

ノンプログラミングで対応する方法が存在した。

前提:

  • Display sweetモジュールをインストール
  • Twig Tweakモジュールをインストール
  • Views field formatterモジュールをインストール

例)ノードにAuthorアバターを埋め込む手順

1. Viewsで埋め込み用 Userアバターを[エンベッドを追加]する。
​・Views id=avatar
・システム内部名称=embed_avatar
・コンテクスチュアルフィルター=User:ユーザーID
・フォーマット/フィールド/フィルター: 必要な内容を設定

2. Display sweet › フィールド › Add a twig field で 以下の内容で Twigフィールドを追加する。
・ラベル node author avatar
・エンティティ=Node
・Template=

{{ drupal_view('avatar', 'embed_avatar', node.getOwnerId()) }}

3. 埋め込みたいコンテンツタイプの[表示管理]
・[Layout for コンテンツタイプ名 in 表示名]で[なし]以外を選択すると 2. で 追加したフィールドが 無効グループに追加される
・当該フィールドを表示対象グループ内に移動する
・[保存]

細かい表示要件に対応するには もちろん テーマ(テンプレート)や CSSでの定義が必要になるが、共通のCSSだけで済ませたい場合、テンプレート(Twig)に慣れていない場合は 結構使える。

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver.降順で並び替える 関連モジュール タイトル
言語 7.15 Entity Translation nodeのEntity Translation
サイトの環境設定 7.15 Secure Pages Secure Pagesが急に機能しなくなった
言語 7.15 Language まだ翻訳されていない英語文、どうにかならない?
フォーム 7.15 Webform Webformで確認画面
サイトの環境設定 7.15 トップ(ホーム)ページを変更するには?
コンテンツの管理 7.15 Views Bulk Operation 標準のコンテンツ編集/ユーザ一覧ページが物足りません
フォーム 7.15 Webform Webform - 確認ページの多言語化
フォーム 7.15 system mail()での送信が失敗する
コンテンツの管理 7.15 Pagenation 一つの長いページをBookなどのように連続して読ませることはできますか?
タクソノミー 7.15 Taxonomy manager タームを他のボキャブラリ配下に移動したい
タクソノミー 7.15 Entity_Trarnslation Taxonomy TaxonomyのEntity Translation
ブロック 7.15 Views ひとつのViewsをページやブックページ中で再利用する方法は?
コンテンツの作成 7.15 Darty Form 編集ページでの操作ミス
フォーム 7.15 Webform WebformのEntity Translation
Japanese mail 7.15 Webform, Mail System, Mime Mail, Japanese Mail Helper Webformから文字化けしないメール送信を行うには
フォーム 7.15 DefaultTextForNode 新しいページの作成方法を一から教えてください
コンテンツの作成 7.15 Form API Validation フォームの入力内容を細かくチェックしたい
言語 7.15 Entity Translation デフォルトの言語 - Entity Translation
アップデート 7.16 Core 7.15→7.16アップデート
コンテンツの管理 7.16 PHP 好きなところにノードを埋め込みたい

ページ