web-dev-qa-db-ja.com

リージョンをレンダリングします。たとえば、views-view.html.twigのpage.sidebar_first

リージョンをレンダリングすることは可能ですか?たとえば、ビューの小枝ファイルsidebar_firstviews-view.html.twig

2
meez

リージョン自体ではありませんが、ブロックは Twig Tweak でレンダリングできるため、そのリージョンにあるブロックをテンプレートファイルに追加するだけです。

Twig Tweakモジュールは、Twig拡張機能を提供し、開発エクスペリエンスを向上させるいくつかの便利な関数とフィルターを備えています。

{# The block with this ID should be configured on "admin/structure/block" page. #}
  <dt>Block:</dt>
  <dd>{{ drupal_block('bartik_powered') }}</dd>
4
No Sssweat

Drupalこれを行う方法はありません。通常、これは別の方法です(ブロックレイアウトを介して)領域にビューを配置します。コアが領域を埋める方法を複製することにより、これを自分でコーディングする必要があります。ブロック:

$blocks = entity_load_multiple_by_properties('block', array('theme' => $theme, 'region' => $region));
// Sort ‘em
uasort($blocks, 'Drupal\block\Entity\Block::sort');
// Capture viewable blocks and their settings to $build
$build = array();
foreach ($blocks as $key => $block) {
  if ($block->access('view')) {
    $build[$key] = entity_view($block, 'block');
  }
}
// Add build to region
$variables[$region] = $build;

ソース:

https://atendesigngroup.com/blog/making-region-content-available-node-templates-drupal-8

2
4k4