假设我有父页面A1和B1。 A1具有子页面A1.1,A1.2,A1.3,B1具有子页面B1.1,B1.2。我想在A1和B1上列出所有相应的子页面。在每个子页面中,我都有一个图像和一个标题。这两个信息需要在父页面上以预告片的形式列出。无论是通过编码还是使用视图,我都需要帮助,我不介意,只要我得到正确的结果。谢谢
答案 0 :(得分:0)
您可以通过创建显示所需字段或预告片的视图来执行此操作。然后添加一个“内容Nid”上下文过滤器,在“过滤器值不可用”下的此过滤器的配置中选择“提供默认值”,然后选择“PHP代码”,然后我使用的代码如下
$children = array();
$current = db_query("select menu_name, mlid from {menu_links} where link_path = :node", array(':node' => $_GET['q']));
$current_info = array();
foreach ($current as $value) {
$current_info[] = $value;
}
if($current_info) {
$result = db_query("select mlid, plid, link_path, link_title from {menu_links} where menu_name=:menu and plid=:mlid and hidden=0 order by weight, link_title", array(':menu' => $current_info[0]->menu_name, ':mlid' => $current_info[0]->mlid));
foreach ($result as $row) {
$children[] = $row;
}
}
$nids = array();
foreach ($children as $value){
if( substr( $value->link_path, 0, 5 ) == 'node/' ){
$nids[] = substr( $value->link_path, 5 );
}
}
return implode('+',$nids);
最后要做的事情,在页面底部的“更多”下选择“允许多个值”
答案 1 :(得分:0)
我正在使用menu_tree_all_data()
https://api.drupal.org/api/drupal/includes!menu.inc/function/menu_tree_all_data/7
获取整个菜单结构,然后我“手动”抓取菜单树...
在阅读树之后,我正在调用menu_tree_add_active_path()
将添加主动跟踪指示器。它是菜单块模块的一部分,因此您必须安装它,并且不要忘记在模块中添加菜单块的依赖项...
$tree = menu_tree_all_data($menu);
menu_tree_add_active_path($tree);