Drupal主题预处理函数-主链接

Drupal主题预处理函数-主链接,drupal,themes,preprocessor,Drupal,Themes,Preprocessor,我最近写了一个主题函数,在我的主链接中添加了一个类,效果非常好。然后,我编写了一些css类,用自定义背景图像来设置这些链接的样式。结果很好。现在问题来了,主链接的链接文本仍然显示。通常这不是问题,因为我会用一个自定义的“hide”类将。例如: <span class="hide"><a href="#">Link Text</a></span> jQuery是一个选项吗 试着这样做: $(document).ready(function(){

我最近写了一个主题函数,在我的主链接中添加了一个类,效果非常好。然后,我编写了一些css类,用自定义背景图像来设置这些链接的样式。结果很好。现在问题来了,主链接的链接文本仍然显示。通常这不是问题,因为我会用一个自定义的“hide”类将。例如:

<span class="hide"><a href="#">Link Text</a></span>
jQuery是一个选项吗

试着这样做:

$(document).ready(function(){
  $('#primary li a')
  .wrapInner('<span class="hide">' + '</span>');
});
$(文档).ready(函数(){
$(“#初级李a”)
.wrapInner(“+”);
});
编辑:

或者如果你想成为Drupal,把这个家伙放到你的foreach循环中:


$link['title']=''。勾选“($link['title'])”

如果您只想隐藏链接文本,为什么不使用类似
文本缩进:-9999px

更改菜单链接输出的正确方法可以在主题层完成。您使用预处理钩子的方法是正确的,但是还有一点

有关更多信息,请参阅本手册:

打字错误


$primary_links[$link]['$attributes']['class']=$class;

应该阅读


$primary_links[$link]['attributes']['class']=$class;

我也喜欢这个主意!我在css方面比php好得多,所以这对我来说可能更好。这不是一个坏习惯,实际上是一个好习惯。如果您使用背景图像作为链接,这对于“如何看”的人来说是很好的,但是对于屏幕阅读器,您仍然应该拥有链接文本。因此,使用文本缩进对普通用户隐藏它是很好的。屏幕阅读器仍然可以访问链接的信息,因为我们足够聪明,可以将链接文本留在那里。jQuery工作得很好,谢谢!一点点css,它的工作方式正是我想要的。非常感谢。不幸的是,我使用的是Drupal6,本指南仅适用于4.7和5,有点老了。。。无论如何谢谢你!嗯,不知道为什么Drupal 6上什么都没有。看看这个
$(document).ready(function(){
  $('#primary li a')
  .wrapInner('<span class="hide">' + '</span>');
});