Üdv,
azt hittem, értem, hogy ha egy ZEN-ből készített sminkben a template.php-ben definiálok egy változót
function zwibak_preprocess(&$vars, $hook) { $vars['primary_links_tree'] = zwibak_menu_tree(variable_get('menu_primary_links_source', 'primary-links')); }
majd azt a page.tpl.php-ban használom, akkor a template.php-ban létre kell hoznom a hozzá tartozó függvényeket is.
function zwibak_menu_tree($menu_name = 'navigation') { static $menu_output = array(); if (!isset($menu_output[$menu_name])) { $tree = menu_tree_page_data($menu_name); $menu_output[$menu_name] = zwibak_menu_tree_output($tree); } return $menu_output[$menu_name]; } function zwibak_menu_tree_output($tree) { $output = ''; $items = array(); // Pull out just the menu items we are going to render so that we // get an accurate count for the first/last classes. foreach ($tree as $data) { if (!$data['link']['hidden']) { $items[] = $data; } } $num_items = count($items); foreach ($items as $i => $data) { $extra_class = NULL; if ($i == 0) { $extra_class = 'first'; } if ($i == $num_items - 1) { $extra_class = 'last'; } $link = theme('menu_item_link', $data['link']); if ($data['below']) { $output .= theme('menu_item', $link, $data['link']['has_children'], menu_tree_output($data['below']), $data['link']['in_active_trail'], $extra_class); } else { $output .= theme('menu_item', $link, $data['link']['has_children'], '', $data['link']['in_active_trail'], $extra_class); } } return $output ? theme('menu_tree', $output) : ''; }
A cél az lenne, hogy bele tudjak írni a menu_tree_output függvénybe, mert kellene bele még vagy 2 div, hogy normálisan sminkelni lehessen.
Ám ahelyett, hogy az így megjelenítendő elsődleges menük megjelennének, nem teszik ezt. Ha kikommentezem a két utolsó funkciót, és a változónál az eredeti,
$vars['primary_links_tree'] = menu_tree(variable_get('menu_primary_links_source', 'primary-links'));
sor marad benn, akkor hibátlanul működik.
Mit rontok el?
Kösznöm,
Pál
Drupal verzió:
Fórum:
pontosan hova akarod a plusz diveket?
valószínűleg csak egy sminkfunkciót kell megvalósítanod majd, de kéne tudni, hogy pontosan hova akarod azt a plusz divet, mert majd attól függ melyik sminkhurkot kell használnod.
devel modul theme developer része egyébként kiváló segítség ilyenkor.
-
clear: both;
az almenü köré
Szóval:
most így van a kimenet:
</ul></li>
, vagyis az "expanded" tulajdonságú "főmenűpont" almenüpontjai egyetlen "menu" tulajdonságú számozatlan listában vannak, ez jó, de a számozatlan lista köré szükségem lenne két div-re, hogy változó szélességű kerettel tudjam körbevenni. (Valahogy így lenne jó, ha a végén kinézne:Ezalapján http://drupal.org/node/283723 gyanítom, hogy nem sminkelhető, és ezalapján http://drupal.org/node/640718 próbáltam eljárni...
P.
theme_menu_tree pont elég lesz...
eredeti:
http://api.drupal.org/api/function/theme_menu_tree/6
menu_tree_output is ezt hívogatja, ha megnézed.
neked egy ilyen változat kell:
mondjuk ez minden menu lista köré pakol majd diveket, de az nem nagy baj. illetve ez nyilván a kerettől is függ, de én így hirtelen nem vagyok abban biztos, hogy egy változó magasággú kerethez kellenek plusz divek. ott az ul, a benne lévő első li is megvan meg az utolsó is, mindegyiknek van jól osztálya, azokhoz is kötheted a keret.
-
clear: both;
köszönöm
Valóban, elég volt. A többi már CSS kérdés, de az nem ide tartozik.
P.