見出し画像

【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 }}
{% endblock %}


以上です。


参考:

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


読んでいただきありがとうございます。