テーマに頼らず コンテンツのフィールドとして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. 関連モジュール タイトル
テーマ 8.3x Block Cache Theme 管理ページから作成したカスタムブロックを非キャッシュ化する方法
テーマ 7.23 hook ページや状況によってテーマを切り替える
テーマ 8.3x Contribute themes drupal8-寄贈テーマの動向
テーマ 7.15 CSS Injector 簡単にCSSを追加したい
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法
チューニング 7.26 PHP DrupalはNginxで動く?
ダウンロード 6.x Views Bonus Pack Viewsで表示した内容をCSVダウンロード
タクソノミー 7.15 Hirarchical Select タクソノミー(ターム)の選択を楽にできないでしょうか
タクソノミー 7.15 Entity_Trarnslation Taxonomy TaxonomyのEntity Translation
タクソノミー 7.15 Taxonomy manager タームを他のボキャブラリ配下に移動したい
タクソノミー 7.15 Taxonomy manager タクソノミーを効率よく管理したい
サイト情報 8.4x JavaScript JavaScriptに変数を渡す方法
サイト情報 8.9.x api Drupal::request() メモ
サイトの環境設定 7.38 Views Bulk Operation VBO(Views Bulk Operation)で指定したアクションが表示されない
サイトの環境設定 7.15 Secure Pages Secure Pagesが急に機能しなくなった
サイトの環境設定 7.15 トップ(ホーム)ページを変更するには?
サイトの環境設定 7.23 Pathauto 自動生成されるURLエイリアスがおかしい
サイトの環境設定 7.59 さくらのレンタルサーバー php Options さくらのレンタルサーバーで パブリック/プライベートディレクトリにファイルが書き込まれないとき
サイトの環境設定 8.9.x 編集
サイトの環境設定 7.23 Image Style 画像スタイルの使い方(Crop)

ページ