0

假设我有父页面 A1 和 B1。A1 有子页面 A1.1、A1.2、A1.3,B1 有子页面 B1.1、B1.2。我想列出 A1 和 B1 上的所有相应子页面。在每个子页面中,我都有一个图像和一个标题。这两个信息需要在父页面上以预告片的形式列出。无论是通过编码还是使用视图,我都需要帮助,只要我得到正确的结果,我不介意。谢谢

4

2 回答 2

0

您可以通过创建显示所需字段的视图或预告片来执行此操作。然后添加一个“Content Nid”上下文过滤器,在“WHEN THE FILTER VALUE IS NOT AVAILABLE”下为此过滤器的配置中选择“提供默认值”,然后选择“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);

最后要做的事情,在页面底部的“更多”下选择“允许多个值”

于 2015-06-09T10:59:29.603 回答
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()

http://www.drupalcontrib.org/api/drupal/contributions!menu_block!menu_block.module/function/menu_tree_add_active_path/7

这将添加活动跟踪指示器。它是菜单块模块的一部分,因此您必须安装它并且不要忘记在模块中添加菜单块的依赖项...

  $tree = menu_tree_all_data($menu);
  menu_tree_add_active_path($tree);
于 2015-06-09T13:11:00.950 回答