2016-08-16 8 views
0

メガメニューの小枝テンプレートからブロック/ビューレンダリングを使用することはできますか?Drupal 8:ブロック/ビューをメニューの小枝テンプレートに挿入する

私は領域を作成し、ビュー/ブロックを作成し、そのブロックを領域に追加しました。しかし、それは私のメニューに表示されたビューからそのコンテンツを持つことの問題です。

私は、私の小枝メニューループ内から指定された領域を単純に持つことができるかもしれないと考え始めました。

enter image description here

答えて

0

あなたのテンプレートに何かを追加したい場合は、あなたのモジュール/テーマで前処理機能を使用する必要があります。たとえば、あなたがviews_embed_view機能を使用してビューの変数を追加することができます。この後

/** 
* Implements hook_preprocess_HOOK(). 
*/ 
function MYTHEME_preprocess_menu(&$variables) { 
    switch ($variables['menu_name']) { 
    case 'mega-menu': 
     $variables['my_view'] = views_embed_view('my_view'); 
     break; 
    } 
} 

を、$my_view変数は、あなたのmenu--mega-menu.html.twigテンプレートで定義されます。

ブロックの追加はもう少し難しいです。答えはthisです。

+0

私は持っている:$変数['megamenu-marketsviews'] = views_embed_view( 'mega_menu_markets');フロントエンドでは単に数字0が表示されています。私のビュープレビューでは、1つの結果(テキストなど)が期待どおりに表示されます。 – JordanC26

+0

変数の名前にダッシュの代わりにアンダースコアを使用しようとします: '$ variables ['megamenu_marketsviews']'。また、ビューに引数がない(または必要な引数がすべて渡されている)こと、および正しい表示IDを使用していることも確認してください。 –

関連する問題