You are here

function custom_breadcrumbs_nodeapi in Custom Breadcrumbs 6

Same name and namespace in other branches
  1. 5 custom_breadcrumbs.module \custom_breadcrumbs_nodeapi()
  2. 6.2 custom_breadcrumbs.module \custom_breadcrumbs_nodeapi()

File

./custom_breadcrumbs.module, line 57
Provide custom breadcrumbs for node-type pages.

Code

function custom_breadcrumbs_nodeapi($node, $op, $teaser, $page) {
  if ($op == 'alter' && !$teaser && $page) {
    if ($breadcrumb = _custom_breadcrumbs_load_for_type($node)) {
      $titles = preg_split("/[\n]+/", $breadcrumb->titles);
      $paths = preg_split("/[\n]+/", $breadcrumb->paths);
      if (module_exists('token')) {
        foreach ($titles as $key => $value) {
          $titles[$key] = token_replace($value, 'node', $node);
        }
        foreach ($paths as $key => $value) {
          $paths[$key] = token_replace($value, 'node', $node);
        }
      }
      $trail = array(
        l(t('Home'), '<front>'),
      );
      for ($i = 0; $i < count($titles); $i++) {
        $title = trim($titles[$i]);
        if ($title != '' && $title != '<none>') {

          // Create breadcrumb only if there is a title.
          $trail[] = _custom_breadcrumbs_create_crumb($title, trim($paths[$i]));
        }
      }
      drupal_set_breadcrumb($trail);
    }
  }
}