【发布时间】:2016-08-16 15:28:13
【问题描述】:
是否可以在我的 Mega Menu 树枝模板中进行块/视图渲染?
我创建了一个区域,创建了一个视图/块并将该块添加到该区域。但问题是让视图中的内容显示在我的菜单中。
我开始考虑我可以简单地从我的树枝菜单循环中指定一个区域。
【问题讨论】:
是否可以在我的 Mega Menu 树枝模板中进行块/视图渲染?
我创建了一个区域,创建了一个视图/块并将该块添加到该区域。但问题是让视图中的内容显示在我的菜单中。
我开始考虑我可以简单地从我的树枝菜单循环中指定一个区域。
【问题讨论】:
如果你想在你的模板中添加一些东西,你需要在你的模块/主题中使用预处理功能。例如,您可以使用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的答案。
【讨论】:
$variables['megamenu_marketsviews']。还要确保您的视图没有参数(或您传递所有必需的参数)并且您使用正确的显示 ID。