<?php /** * ! * Displays breadcrumbs. * * @package Elgg * @subpackage Core * * @uses $vars['breadcrumbs'] (Optional) Array of arrays with keys 'title' and 'link' * @uses $vars['class'] * * @see elgg_push_breadcrumb */ $breadcrumbs = elgg_extract('breadcrumbs', $vars, elgg_get_breadcrumbs()); $additional_class = elgg_extract('class', $vars, ''); $class = 'breadcrumb elgg-menu elgg-breadcrumbs'; if ($additional_class) { $class = "{$class} {$additional_class}"; } if (is_array($breadcrumbs) && !empty($breadcrumbs)) { echo "<ul class=\"{$class}\">"; foreach ($breadcrumbs as $breadcrumb) { $divider = '<span class="divider">/</span> '; if (!empty($breadcrumb['link'])) { $crumb = elgg_view('output/url', array('href' => $breadcrumb['link'], 'text' => $breadcrumb['title'], 'is_trusted' => true)); echo "<li>{$divider} {$crumb}</li>"; } else { $crumb = $breadcrumb['title']; echo "<li class=\"active\">{$divider} {$crumb}</li>"; }
public function testCrumbsAreExcerpted() { $this->markTestIncomplete('Needs DB'); elgg_push_breadcrumb(str_repeat('abcd ', 100)); $this->assertEquals(array(array('title' => elgg_get_excerpt(str_repeat('abcd ', 100), 100), 'link' => null)), elgg_get_breadcrumbs()); }
/** * Displays breadcrumbs. * * @package Elgg * @subpackage Core * * @uses $vars['breadcrumbs'] (Optional) Array of arrays with keys 'title' and 'link' * @uses $vars['class'] * * @see elgg_push_breadcrumb * @see elgg_get_breadcrumbs */ if (isset($vars['breadcrumbs'])) { $breadcrumbs = $vars['breadcrumbs']; } else { $breadcrumbs = elgg_get_breadcrumbs(); } $class = 'breadcrumb'; $additional_class = elgg_extract('class', $vars, ''); if ($additional_class) { $class = "{$class} {$additional_class}"; } if (is_array($breadcrumbs) && count($breadcrumbs) > 0) { echo '<nav role="navigation" id="wb-bc" property="breadcrumb">'; echo '<h2>You are here:</h2>'; echo '<div class="container">'; echo '<div class="row">'; echo "<ol class=\"{$class}\">"; foreach ($breadcrumbs as $breadcrumb) { // We have to escape text (without double-encoding). Titles in core plugins are HTML escaped // on input, but we can't guarantee that other users of this view and of elgg_push_breadcrumb()