BreadCrumb
Last updated not available | Page history | Improve this page | Report an issue
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn moreWhat is BreadCrumb?¶
Breadcrumb is a snippet for MODX Revolution, inspired by the Breadcrumbs snippet.
As the original Breadcrumbs, this snippet will create a breadcrumb navigation (no kidding !!) but also add some new features like template properties or specific resource ID property.
Requirements¶
- MODX Revolution 2.0.x or later
- PHP5 or later
Public Releases¶
Version | Date | Author | Product |
---|---|---|---|
1.4.4-pl | October 1, 2019 | —————–– | Revolution |
1.4.3-pl | March 7, 2015 | ben_omycode & Jako | Revolution |
1.4.2-pl | August 12, 2014 | ben_omycode | Revolution |
1.4.1-pl | August 7, 2014 | ben_omycode | Revolution |
1.4.0-pl | August 6, 2014 | ben_omycode | Revolution |
1.3.2-beta1 | December 11, 2012 | ben_omycode | Revolution |
1.3.1-pl | November 16, 2012 | ben_omycode | Revolution |
1.3.0-pl | August 28, 2012 | ben_omycode | Revolution |
1.2.0-pl | August 22, 2012 | ben_omycode | Revolution |
1.1.0-pl | April 24, 2012 | ben_omycode | Revolution |
1.0.0-pl | February 6, 2012 | ben_omycode | Revolution |
1.0.0-beta3 | November 19, 2011 | ben_omycode | Revolution |
1.0.0-beta2 | November 18, 2011 | ben_omycode | Revolution |
Download¶
It can be downloaded from within the MODX Revolution manager via Package Management, or from the MODX Extras Repository, here: https://modx.com/extras/package/breadcrumb
Support, Comments, Development and Bug Reporting¶
- Github: BreadCrumb
- Support: MODX Community
Usage¶
The BreadCrumb snippet can be called using the tag :
[[BreadCrumb]]
Breadcrumb properties¶
Name | Description | Default | Version |
---|---|---|---|
from | Resource ID from which breadcrumb is created | 0 | 1.1.0-pl |
to | Resource ID whose breadcrumb is created | current resource ID | 1.1.0-pl |
exclude | Comma separated list of resources to exclude from breadcumb | 1.4.0-pl | |
maxCrumbs | Max crumbs shown in breadcrumb. Max delimiter template can be customize with property maxCrumbTpl | 100 | |
showHidden | Show hidden resources in breadcrumb | 1 | |
showContainer | Show container resources in breadcrumb | 1 | |
showUnPub | Show unpublished resources in breadcrumb | 1 | |
showCurrentCrumb | Show current resource as a crumb | 1 | |
showBreadCrumbAtHome | Show BreadCrumb on the home page | 1 | |
showHomeCrumb | Show the home page as a crumb. Since 1.4.0-pl, the home crumb usage was simplified. The &showHomeCrumb=1 property adds the home crumb at the start of breadcrumb and &showHomeCrumb=0 hides it if present. | 1 | |
useWebLinkUrl | Use the weblink url instead of the url to the weblink | 1 | 1.0.0-beta3 |
direction | Direction or breadcrumb : Left To Right (ltr) or Right To Left (rtl) for Arabic language for example | ltr | |
scheme | Format for how URLs are generated. Possible values are based on modX.makeUrl): | modx link_tag_scheme setting |
Valid scheme values:
- -1 : (default value) URL is relative to site_url
- 0 : see http
- 1 : see https
- full : URL is absolute, prepended with site_url from config
- abs : URL is absolute, prepended with base_url from config
- http : URL is absolute, forced to http scheme
- https : URL is absolute, forced to https scheme
Templating properties¶
@CODE no longer supported since 1.4.0-pl. Use @INLINE instead.
Name | Description | Default | Version |
---|---|---|---|
containerTpl | Name of the chunk containing the template for the container of the breadcrumb. It also can be file path (@FILE ) or chunk code (@INLINE ). | cf BreadCrumb.containerTpl | |
homeCrumbTpl | Name of the chunk containing the template for the current crumb. It also can be file path (@FILE ) or chunk code (@INLINE ). | cf BreadCrumb.homeCrumbTpl | 1.4.0-pl |
currentCrumbTpl | Name of the chunk containing the template for the current crumb. It also can be file path (@FILE ) or chunk code (@INLINE ). | cf BreadCrumb.currentCrumbTpl | |
linkCrumbTpl | Name of the chunk containing the template for the default crumb. It also can be file path (@FILE ) or chunk code (@INLINE ). | cf BreadCrumb.linkCrumbTpl | |
categoryCrumbTpl | Name of the chunk containing the template for categories crumbs. Can be file (@FILE ) or code (@INLINE ). | cf BreadCrumb.categoryCrumbTpl | 1.3.2-beta1 |
maxCrumbTpl | Name of the chunk containing the template for the max delimiter crumb. It also can be file path (@FILE ) or chunk code (@INLINE ). | cf BreadCrumb.maxCrumbTpl |
Examples¶
Show the breadcrumb of the current resource
[[BreadCrumb]]
Show the breadcrumb of the resource whose ID is 72
[[BreadCrumb? &to=`72`]]
Show home crumb at the start of breadcrumb
[[BreadCrumb? &showHomeCrumb=`1`]]
Show the breadcrumb of the resource whose ID is 72 from it’s level 2 parent
[[BreadCrumb? &from=`[[UltimateParent? &topLevel=`2`]]` &to=`72`]]
Change the direction of the breadcrumb : rtl (Right To Left) or ltr (Left To Right)
[[BreadCrumb? &direction=`rtl`]]
Exclude some resources
[[BreadCrumb? &exclude=`23,135`]]
Use custom templates
[[BreadCrumb? &linkCrumbTpl=`myLinkCrumbTpl`]]
[[BreadCrumb? &linkCrumbTpl=`@INLINE <li><a href="[[+link]]">[[+pagetitle]]</a></li>`]]
[[BreadCrumb? &linkCrumbTpl=`@FILE [[++assets_path]]my_link_crumb_tpl.html`]]
Migrate from Breadcrumbs snippet¶
Once again, BreadCrumb was inspired by the Breadcrumbs snippet. Some of Breadcrumbs properties have been removed but you still can do the same things with BreadCrumb … just in a different way.
crumbSeparator¶
Before:
[[Breadcrumbs? &crumbSeparator=`>`]]
Use CSS instead:
#breadcrumb li + li:before{
content: '>';
margin: 0 2px;
}
currentAsLink¶
Before:
[[Breadcrumbs? ¤tAsLink=`1`]]
New:
[[BreadCrumb? ¤tCrumbTpl=`myCurrentCrumbTpl`]]
Chunk myCurrentCrumbTpl
:
<li><a href="[[+link]]">[[+pagetitle]]</a></li>
descField¶
Before:
[[Breadcrumbs? &descField=`longtitle`]]
New:
[[BreadCrumb? &linkCrumbTpl=`myLinkCrumbTpl` ¤tCrumbTpl=`myCurrentCrumbTpl`]]
Chunks myLinkCrumbTpl
and myCurrentCrumbTpl
:
<li><a href="[[+link]]" title="[[+longtitle]]">[[+pagetitle]]</a></li>
homeCrumbDescription¶
Before:
[[Breadcrumbs? &homeCrumbDescription=`Home`]]
After:
[[BreadCrumb? &containerTpl=`myContainerTpl`]]
Chunk myContainerTpl
:
<ul>
<li><a href="[[++site_url]]">Home</a></li>
[[+crumbs]]
</ul>
homeCrumbTitle¶
Before:
[[Breadcrumbs? &homeCrumbTitle=`Home`]]
After:
[[BreadCrumb? &containerTpl=`myContainerTpl`]]
Chunks myContainerTpl
:
<ul>
<li><a href="[[++site_url]]" title="Home">Home</a></li>
[[+crumbs]]
</ul>
maxDelimiter¶
Before:
[[Breadcrumbs? &maxDelimiter=`(...)`]]
After:
[[BreadCrumb? &maxCrumbTpl=`myMaxCrumbTpl`]]
Chunk myMaxCrumbTpl
:
<li>(...)</li>
titleField¶
Before:
[[Breadcrumbs? &titleField=`menutitle`]]
After:
[[BreadCrumb? &linkCrumbTpl=`myLinkCrumbTpl` ¤tCrumbTpl=`myCurrentCrumbTpl`]]
Chunk myLinkCrumbTpl
and myCurrentCrumbTpl
:
<li><a href="[[+link]]">[[+menutitle]]</a></li>
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn more