見出し画像

【Drupal 8】twigテンプレート内にviewsで作成したブロックを表示する方法

page.html.twigファイルにviewsで作成したブロックを表示させる方法を記載します。

viewsでブロックを作成

まずはviewsでブロックを作成します。

作成したら、「viewのシステム名」と「システム内部名称」をコピーしておきます。

- viewのシステム名:管理用名称

下記の場合は「about」がシステム名です。

スクリーンショット 2019-11-17 5.04.25

- システム内部名称

下記の場合は「blodk_1」がシステム内部名称です。

スクリーンショット 2019-11-17 5.05.22


.themeファイルに追記

テーマ名.themeファイルに「テーマ名_preprocess_page」関数を追加します。

下記のように追記します。

function テーマ名_preprocess_page(&$variables) {
    $variables['about'] = views_embed_view('about', 'block_1');
}


page.html.twig に追記

page.html.twigファイル内、ブロックを表示したい場所に下記追記します。

{% block about %}
   {{ about }}
{% about %}


以上です。


参考:

下記記事がとても分かり易かったです。ありがとうございました。


この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

note.user.nickname || note.user.urlname

読んでいただきありがとうございます!twitterもやってますのでよろしくお願いします。 https://twitter.com/koushikagawa

あなたのnoteも見に行きますね〜!
長野県松本市のWeb制作会社 Res, Inc. 代表 / Web ディレクター(IAが得意)、エンジニア(Laravel/PHP/MySQL/Nuxt.js/Vue.js/ Contentful/Netlify/Drupal/Wordpress)