You are here

class context_reaction_breadcrumb in Context 6

Same name and namespace in other branches
  1. 6.3 plugins/context_reaction_breadcrumb.inc \context_reaction_breadcrumb
  2. 7.3 plugins/context_reaction_breadcrumb.inc \context_reaction_breadcrumb

Set the breadcrumb using a context reaction.

Hierarchy

Expanded class hierarchy of context_reaction_breadcrumb

2 string references to 'context_reaction_breadcrumb'
_context_context_plugins in ./context.plugins.inc
Context plugins.
_context_context_registry in ./context.plugins.inc
Context registry.

File

plugins/context_reaction_breadcrumb.inc, line 6

View source
class context_reaction_breadcrumb extends context_reaction_menu {

  /**
   * Override of execute().
   */
  function execute(&$vars = NULL) {
    if ($active_paths = $this
      ->get_active_paths()) {
      $breadcrumb = array(
        l(t('Home'), '<front>', array(
          'purl' => array(
            'disabled' => TRUE,
          ),
        )),
      );
      foreach ($active_paths as $path) {
        $result = db_select('menu_links')
          ->fields('menu_links', array(
          'p1',
          'p2',
          'p3',
          'p4',
          'p5',
          'p6',
          'p7',
          'p8',
        ))
          ->condition('hidden', 0)
          ->condition('link_path', $path)
          ->execute();
        while ($parents = $result
          ->fetchAssoc()) {
          $set = FALSE;
          foreach (array_filter($parents) as $plid) {
            $parent = menu_link_load($plid);
            if ($parent && $parent['access'] && empty($parent['hidden']) && !empty($parent['title'])) {
              $set = TRUE;
              $breadcrumb[] = l($parent['title'], $parent['href']);
            }
          }

          // Only set the breadcrumb if one or more links were added to the
          // trail. If not, continue iterating through possible menu links.
          if ($set) {
            drupal_set_breadcrumb($breadcrumb);
            break;
          }
        }
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
context_reaction::$description property
context_reaction::$plugin property
context_reaction::$title property
context_reaction::fetch_from_context function Retrieve options from the context provided.
context_reaction::get_contexts function Retrieve active contexts that have values for this reaction.
context_reaction::settings_form function Settings form. Provide variable settings for your reaction. 1
context_reaction::__clone function Clone our references when we're being cloned.
context_reaction::__construct function Constructor. Do not override.
context_reaction_breadcrumb::execute function Override of execute(). Overrides context_reaction_menu::execute
context_reaction_menu::get_active_paths function
context_reaction_menu::menu_navigation_links function Wrapper around menu_navigation_links() that gives themers the option of building navigation links based on an active context trail.
context_reaction_menu::menu_set_active function Iterates through a provided links array for use with theme_links() (e.g. from menu_primary_links()) and provides an active class for any items that have a path that matches an active context.
context_reaction_menu::options_form function Provide a form element that allow the admin to chose a menu item. Overrides context_reaction::options_form
context_reaction_menu::options_form_submit function Override of options_form_submit(). Trim any identifier padding for non-unique path menu items. Overrides context_reaction::options_form_submit