Drupal 6:打印纯初级链接和所有子级

Drupal 6:打印纯初级链接和所有子级,drupal,menu,drupal-6,submenu,Drupal,Menu,Drupal 6,Submenu,世界上怎么可能?我发誓,我读过相当于3本百科全书的书,但都没有用。我在region、page.tpl.php和block中尝试过解决方案。他们都没有给我我需要的。。。我知道还有很多人也需要这个 我已经得出结论,我想打印出page.tpl.php中的菜单。。。所以请不要阻塞解决方案 我希望能够通过主菜单链接(和子菜单)循环并重写输出,这样就没有默认的Drupal类标记。我发现的最接近的例子是: <?php if (is_array($primary_links)) : ?> <u

世界上怎么可能?我发誓,我读过相当于3本百科全书的书,但都没有用。我在region、page.tpl.php和block中尝试过解决方案。他们都没有给我我需要的。。。我知道还有很多人也需要这个

我已经得出结论,我想打印出page.tpl.php中的菜单。。。所以请不要阻塞解决方案

我希望能够通过主菜单链接(和子菜单)循环并重写输出,这样就没有默认的Drupal类标记。我发现的最接近的例子是:

<?php if (is_array($primary_links)) : ?>
<ul id="sliding-navigation">
<?php foreach ($primary_links as $link): ?>
<li class="sliding-element"><?php        
        $href = $link['href'] == "<front>" ? base_path() : base_path() . drupal_get_path_alias($link['href']);
        print "<a href='" . $href . "'>" . $link['title'] . "</a>";            
        ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>

正如你所看到的,链接正在使用自定义UL和LI类进行重新打印。。。太好了!但是,没有印刷儿童。如何扩展此代码,使所有子项都成为列表的一部分?注意:我不希望孩子们只出现在他们的父页面上,他们必须一直存在。否则,我计划的下拉菜单就没用了


为了减轻我巨大的头痛,我提前衷心感谢你

一旦到达page.tpl,就很难影响输出-您可能会更好地查找template.php函数

这是一个我用来改变我的主要链接的类:

function primary_links_add_icons() {
  $links = menu_primary_links();
  $level_tmp = explode('-', key($links));
  $level = $level_tmp[0];
  $output = "<ul class=\"links-$level\">\n";   
  if ($links) {
    foreach ($links as $link) {
        $link = l($link['title'], $link['href'], $link['attributes'], $link['query'], $link['fragment']);
        $output .= '<li class="sublevel">' . $link .'</li>';
    };
    $output .= '</ul>';
  }
  return $output;
}
功能主链接添加图标(){
$links=菜单\主\链接();
$level_tmp=分解('-',键($links));
$level=$level_tmp[0];
$output=“
    \n”; 如果($links){ foreach($links作为$link){ $link=l($link['title']、$link['href']、$link['attributes']、$link['query']、$link['fragment']); $output.='
  • '.$link.
  • '; }; $output.='
'; } 返回$output; }
然后在page.tpl.php中,我这样称呼它:

<?php if ($primary_links) :?>
    <?php print '<div id="menu">'; ?>
    <?php print primary_links_add_icons(); ?>
    <?php print '</div>'; ?>
<?php endif;?> 

我必须在我的链接中添加一个
来设置样式,所以我在includes/theme.inc中重写了theme\u links() 您可以将该函数复制到template.php,将其重命名为yourthemename_links(),然后根据需要对其进行修改。 此函数输出ul、li标签、drupal_属性、first、last、active等类,并影响整个站点的菜单

如果需要以不同的方式输出主任务和次任务,您可能还希望签出includes/menu.inc中的函数,包括theme_menu_local_tasks()和menu_local_tasks()。
MarkLNH

现在这会影响Drupal中的所有菜单吗?当我像这样覆盖链接时遇到的一个问题是,它甚至影响了我侧边栏中的链接。。。不,这只会影响你的主链接,因为template.php函数只处理这些链接。你用过这个密码吗?我很抱歉。。。在过去的一周里,我看到了许多类似的功能,它们在我的脑海中融为一体。“主链接\u添加\u图标”仅影响主链接,是的。谢谢。没问题-我在这个网站上收到了很多建议,所以能够回馈一些东西真是太好了!