2016-08-16 62 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

我有:$ variables ['megamenu-marketsviews'] = views_embed_view('mega_menu_markets');但在前端它只是显示数字0.在我的视图预览中显示了1个结果(包含文本等)。 – JordanC26

+0

尝试在变量的名称中使用下划线而不是短划线:'$ variables ['megamenu_marketsviews']'。还要确保你的视图没有参数(或者你传递了所有需要的参数)并且你使用了正确的显示ID。 –