protected function render_navigation_node(navigation_node $item) { $content = $item->get_content(); $title = $item->get_title(); if ($item->icon instanceof renderable && !$item->hideicon) { $icon = $this->render($item->icon); $content = $icon.$content; // use CSS for spacing of icons } if ($item->helpbutton !== null) { $content = trim($item->helpbutton).html_writer::tag('span', $content, array('class'=>'clearhelpbutton')); } if ($content === '') { return ''; } if ($item->action instanceof action_link) { //TODO: to be replaced with something else $link = $item->action; if ($item->hidden) { $link->add_class('dimmed'); } $content = $this->render($link); } else if ($item->action instanceof moodle_url) { $attributes = array(); if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::link($item->action, $content, $attributes); } else if (is_string($item->action) || empty($item->action)) { $attributes = array(); if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::tag('span', $content, $attributes); } return $content; }
/** * Renders a navigation node object. * * @param navigation_node $item The navigation node to render. * @return string HTML fragment */ protected function render_navigation_node(navigation_node $item) { $content = $item->get_content(); $title = $item->get_title(); if ($item->icon instanceof renderable && !$item->hideicon) { $icon = $this->render($item->icon); $content = $icon.$content; // use CSS for spacing of icons } if ($item->helpbutton !== null) { $content = trim($item->helpbutton).html_writer::tag('span', $content, array('class'=>'clearhelpbutton', 'tabindex'=>'0')); } if ($content === '') { return ''; } if ($item->action instanceof action_link) { $link = $item->action; if ($item->hidden) { $link->add_class('dimmed'); } if (!empty($content)) { // Providing there is content we will use that for the link content. $link->text = $content; } $content = $this->render($link); } else if ($item->action instanceof moodle_url) { $attributes = array(); if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::link($item->action, $content, $attributes); } else if (is_string($item->action) || empty($item->action)) { $attributes = array('tabindex'=>'0'); //add tab support to span but still maintain character stream sequence. if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::tag('span', $content, $attributes); } return $content; }