You are here:
Foswiki
>
System Web
>
BreadCrumbsPlugin
E
dit
A
ttach
Tags:
create new tag
,
view all tags
---+!! %TOPIC% %TOC% ---++ Description This plugin helps you to locate where you are, and shows you how you can escape from there using breadcrumbs navigation. Two types of breadcrumb are supported; "location" breadcrumbs, which show you where you are in the site hierarchy, taking into account topic parent relationships, and "path" breadcrumbs, that simply show you where you have been, but without going in circles. In a way, location breadcrumbs have always been supported using the =META{"parent"}= variable to display the list of parent topics. Since version the advent of hierarchical, subwebs breadcrumbs support of the standard engine does not allow the display of parent webs as part of of the location breadcrumbs. Path breadcrumbs show you which topics you visited to reach the current topic. If you revisit a topic you visited earlier, the path is trimmed back to that topic, so it gives you a sort of visual history of where you have been on the site. Path breadcrumbs require that you have session support enabled. The plugin also gives a great deal of flexibility in deciding which parts of the breadcrumbs should be rendered, and how each individual breadcrumb is displayed. ---++ Configuration While most settings are given as part of the =BREADCRUMBS= tag, there are a few settings to improve rendering breadcrumbs. ---+++ Enabling Path breadcrumbs To switch on recording the path breadcrumbs, set the =BREADCRUMBSPLUGIN_RECORDTRAIL= to =on=. Otherwise the click path of the user won't be recorded and the =type= setting to the BREADCRUMBS will result in an undefined behaviour. ---+++ Displaying !TopicTitles !TopicTitles are a concept introduced by the Foswiki:Extensions/DBCachePlugin. These are stored in a topic in the =TOPICTITLE= preference variable or in a formfield 'TopicTitle ' of a forms attached to the topic. If a !TopicTitle is defined for a topic, it will be displayed in the breadcrumbs instead of the normal !WikiWord topic name. For efficiency it is recommended to install the Foswiki:Extensions/DBCachePlugin to determine the !TopicTitle. ---++ Syntax =%<nop>BREADCRUMBS%, %<nop>BREADCRUMBS{"<web>.<topic>" ...}%= *Parameters*: * =<web>.<topic>=: the location to which breadcrumbs should be generated (type="location" only, ignored if type="path") defaults to the current topic * =type=: "location" (the default) or "path" * =header=: format string prepended to the output result * =format=: format string to render one item on the breadcrumbs path (defaults to '[<nop>[$webtopic][$name]]') * =topicformat=: format string for any _topic_ items on the path; for example, parent topics. Defaults to the same as =format=. * =newtopicformat=: similar to =topicformat= but being used when the topic on the path doesn't exist * =footer=: format string appended to the output result * =separator=: format string to be put between items (defaults to one space char) * =include=: regular expression that items must match to be part of the path * =exclude=: regular expression that items must _not_ match to be part of the path * =recurse=: (type="location" only) can be one or more of the following values (comma separated) to decide which parts of the breadcrumbs path should be included (defaults to 'on'): * =on=: include all parent webs and all parent topics * =off=: include only the current web and the current topic * =weboff=: don't recurse on webs, include only the current web * =topicoff=: don't recurse on topics * =webonce=: include the next parent web but not the parent web's parent web * =topiconce=: include the next parent topic but not the parent topic's parent topic * =once=: short formf of =webonce, topiconce= * =spaceout=: space out !WikiWords inserting a separator (defaults to 'off') * =spaceoutsep=: separator to be used when spacing out !WikiWords * =maxlength=: maximum length of a breadcrumbs before inserting an ellipsis in the middle, 0 meaning disable this feature (defaults to 0) * =ellipsis=: character sequence to be inserted when reducing the maxlength of the breadcrumbs (defaults to ' ... ') *Pseudo-variables*: %BR% Each of the above format strings (format, header, footer, separator) may contain special variables: * =$name=: the name of the breadcrumb, this is the topic name or the web name having its parent web part being stripped off (that is =Bar= instead of =Sandbox/Foo/Bar=) * =$webtopic=: the full =web.topic= of the breadcrumb (wiki syntax) * =$web=: the web part of the current breadcrumb * =$topic=: the topic part of the current breadcrumb * =$target=: the full =web/topic= of the breadcrumb (url syntax) * =$name=: name of the breadcrumbs item this is the !TopicTitle, spaced out or normal topic name topic * =$n=: replaced with a newline char (\n) * =$percnt=: replaced with a percent char (%) * =$dollar=: replaced with a dollar char ($) * =$nop=: removed from the format string before expanding common variables ---++ Examples ---+++ default <verbatim> %BREADCRUMBS% </verbatim> %BREADCRUMBS% ---+++ path <verbatim> %BREADCRUMBS{type="path"}% </verbatim> %BREADCRUMBS{type="path"}% ---+++ breadcrumbs to a non-existent location <verbatim> %BREADCRUMBS{ "Web1/Web2/Web3.Topic" format="$name" separator=" » "}% </verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » "}% ----+++ recurse="off" <verbatim> %BREADCRUMBS{ "Web1/Web2/Web3.Topic" format="$name" separator=" » " recurse="off"}% </verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » " recurse="off"}% ----+++ recurse="once" <verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » " recurse="once"}% </verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » " recurse="once"}% ---+++ include <verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » " include="Web(1|3).*"}% </verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » " include=".*(1|3).*"}% ---+++ exclude <verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » " exclude="Web2"}% </verbatim> %BREADCRUMBS{"Web1/Web2/Web3.Topic" format="$name" separator=" » " exclude="Web2"}% ---++ Plugin Installation Instructions You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server. Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install". If you have any problems, or if the extension isn't available in =configure=, then you can still install manually from the command-line. See http://foswiki.org/Support/ManuallyInstallingExtensions for more help. ---++ Plugin Info <!-- provided for compatibility only * Set SHORTDESCRIPTION = A flexible way to display breadcrumbs navigation --> | Plugin Author: | Michael Daum | | Copyright ©: | 2006-2013, Michael Daum http://michaeldaumconsulting.com | | License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | | Release: | 2.50 | | Version: | 2.50 | | Change History: | | | 04 Nov 2013: | added =newtopicformat= | | 24 Feb 2012: | check access rights before extracting the !TopicTitle | | 20 Aug 2009: | fixed usage of =$web= | | 03 Jul 2009: | fixed fallback method to get the !TopicTitle without !DBCachePlugin | | 29 Jun 2009: | use Foswiki !DBCachePlugin now | | 17 Apr 2009: | converted to Foswiki | | 07 Jan 2009: | fixed breadcrumbs breadcrumbs title for pattern skin | | 11 Nov 2008: | hide <nop>WebHome in location breadcrumbs | | 15 Sep 2008: | switching off current topic in =topicoff= mode | | 01 Sep 2008: | Oliver Krueger Bugs:Item5972 fixed: minor cosmetics | | 28 Apr 2008: | many new features for 2.0: topic titles, ellipsis, ... | | 08 May 2007: | respect HOMETOPIC setting, don't hardcoded '<nop>WebHome' | | 19 Apr 2007: | Crawford Currie added =topicformat= | | 20 Feb 2007: | Crawford Currie added path breadcrumbs | | 18 Dec 2006: | added $webtopic pseudo-parameter | | 31 Aug 2006: | added NO_PREFS_IN_TOPIC;\ removed commonTagsHandler thus dropping cairo support | | 08 Aug 2006: | fixed topic parents not showing up; don't show non-existing topics | | 29 Jul 2006: | fixed infinit loop when a topic is its own parent topic | | 28 Jul 2006: | initial version; \ don't add the topic parent '<nop>WebHome' to the path | | CPAN Dependencies: | none | | Other Dependencies: | none | | Plugin Home: | Foswiki:Extensions/%TOPIC% | | Support: | Foswiki:Support/%TOPIC% |
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Edit
w
iki text
|
M
ore topic actions
Topic revision: r3 - 19 Nov 2013,
AdminUser
System
Log In
or
Register
Toolbox
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
User Reference
BeginnersStartHere
TextFormattingRules
Macros
FormattedSearch
QuerySearch
DocumentGraphics
SkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
AdminToolsCategory
InterWikis
ManagingWebs
SiteTools
DefaultPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Webs
Applications
ClassificationApp
Extensions
Main
System
Copyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki?
Send feedback