primary linkek megkülönböztetése blokkban

scoundrel képe

sziasztok!

egy blokkban lévő primary menüm elemeit szeretném megkülönböztetni.

látom, h a block-menu-primary-links az id, de sajnos
látom, h minden li elemnek csak egy "leaf" v. "expanded" class-a van.

hogyan tudnám a linkeket egyedi azonosítóval ellátni?

nézem theme_links-et, de nem bírom összehozni.

előre is köszönöm.

üdv.sco

Drupal verzió: 
Fórum: 
aries képe

Kicsit nyakatekert lesz, nézd meg a Nice Menus modul forráskódját.

0
0
scoundrel képe

köszi Aries.

végül ez lett a megoldás:

<?php
/**
 * Theme override for theme_menu_item()
 */
function phptemplate_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
  $class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf'));
  if (!empty($extra_class)) {
    $class .= ' '. $extra_class;
  }
  if ($in_active_trail) {
    $class .= ' active-trail';
  }
 
  // Add unique identifier
  static $item_id = 0;
  $item_id += 1;
  $id .= ' ' . 'menu-item-custom-id-' . $item_id;
  // Add semi-unique class
  $class .= ' ' . preg_replace("/[^a-zA-Z0-9]/", "", strip_tags($link));
 
  return '<li class="'. $class .'" id="' . $id . '">'. $link . $menu ."</li>\n";
}
?>

üdv.sco

0
0
kismocsy képe

0
0
aries képe

Ez így nem lesz jó, mert ha módosul a menü, akkor változik a korábbi elemek id-je is. Épp ezért küldtem be a modult, mert sajnos ennél jóval nagyobb módosítások szükségesek.

0
0
scoundrel képe

teljesen igazad van, egy többszintű menünél mégsem járható ez az út.

vissza a nice forrásához... :(

0
0