Ü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