├── .gitignore ├── core └── components │ └── wayfinder │ ├── configs │ ├── default.config.php │ ├── slidingdoors.config.php │ ├── breadcrumb.config.php │ ├── cssplay-flyoutrev.config.php │ ├── cssplay-dropdown.config.php │ ├── cssplay-flyout.config.php │ ├── cssplay-upmenu.config.php │ ├── cssplay-dropline.config.php │ ├── cssplay-basicdropdown.config.php │ └── mollio.config.php │ ├── examples │ ├── cssplay │ │ ├── drop.gif │ │ ├── drop2.gif │ │ ├── dropdown_ie.css │ │ ├── template_revisited.html │ │ ├── flyout_ie.css │ │ ├── basic_dd_ie.css │ │ ├── upmenu_ie.css │ │ ├── dropline_ie.css │ │ ├── dropdown.css │ │ ├── flyout.css │ │ ├── upmenu.css │ │ ├── template.html │ │ ├── dropline.css │ │ ├── basic_dd.css │ │ ├── flyout_revisited.css │ │ ├── chunks.txt │ │ └── ultimate_drop.css │ ├── mollio │ │ ├── images │ │ │ ├── sprites.gif │ │ │ ├── featurebox2_bg.gif │ │ │ └── featurebox_bg.gif │ │ ├── mollio-menu.css │ │ └── howto.txt │ └── slidingdoors │ │ ├── images │ │ ├── bg.gif │ │ ├── left_both.gif │ │ └── right_both.gif │ │ └── slidingdoors.css │ ├── docs │ ├── readme.txt │ ├── changelog.txt │ └── license.txt │ ├── wayfinder.snippet.php │ ├── lexicon │ └── en │ │ └── properties.inc.php │ └── wayfinder.class.php └── _build ├── build.config.sample.php ├── build.transport.php └── data └── properties.inc.php /.gitignore: -------------------------------------------------------------------------------- 1 | _build/build.config.php 2 | config.core.php 3 | .idea -------------------------------------------------------------------------------- /core/components/wayfinder/configs/default.config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/components/wayfinder/configs/slidingdoors.config.php: -------------------------------------------------------------------------------- 1 | 9 | 12 | '; 13 | 14 | $innerTpl = '@CODE:'; 17 | 18 | $rowTpl = '@CODE:[[+wf.linktext]][[+wf.wrapper]]'; 19 | 20 | $cssTpl = '@CODE:'; -------------------------------------------------------------------------------- /core/components/wayfinder/configs/breadcrumb.config.php: -------------------------------------------------------------------------------- 1 | getOption('site_start') == $modx->resource->get('id')) { 5 | $homeLink = ''; 6 | } else { 7 | $homeLink = "getOption('site_url')}\" title=\"home\">Home » "; 8 | } 9 | 10 | $outerTpl = "@CODE:
11 | {$homeLink}[[+wf.wrapper]] 12 |
"; 13 | 14 | $innerTpl = '@CODE:[[+wf.wrapper]]'; 15 | 16 | $rowTpl = '@CODE: '; 17 | 18 | $activeParentRowTpl = '@CODE:[[+wf.linktext]] » [[+wf.wrapper]]'; 19 | 20 | $hereTpl = '@CODE:[[+wf.linktext]]'; -------------------------------------------------------------------------------- /core/components/wayfinder/configs/cssplay-flyoutrev.config.php: -------------------------------------------------------------------------------- 1 | 6 | 9 | '; 10 | 11 | $parentRowTpl = '@CODE:
  • [[+wf.linktext]] 12 |
    13 | [[+wf.wrapper]] 14 |
    15 | 16 |
  • '; 17 | 18 | $cssTpl = '@CODE:'; -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/dropdown_ie.css: -------------------------------------------------------------------------------- 1 | .menu ul li a.hide, .menu ul li a:visited.hide {display:none;} 2 | .menu ul li a:hover ul li a.hide {display:none;} 3 | 4 | .menu ul li a:hover {color:#fff; background:#36f;} 5 | .menu ul li a:hover ul {display:block; position:absolute; top:21px; left:0; width:105px;} 6 | .menu ul li a:hover ul li a.sub {background:#6a3; color:#fff;} 7 | .menu ul li a:hover ul li a {display:block; background:#ddd; color:#000;} 8 | .menu ul li a:hover ul li a ul {visibility:hidden;} 9 | .menu ul li a:hover ul li a:hover {background:#6fc; color:#000;} 10 | .menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:105px; top:0; color:#000;} 11 | .menu ul li a:hover ul li a:hover ul.left {left:-105px;} 12 | -------------------------------------------------------------------------------- /core/components/wayfinder/docs/readme.txt: -------------------------------------------------------------------------------- 1 | :::::::::::::::::::::::::::::::::::::::: 2 | Snippet name: Wayfinder 3 | Short Desc: builds site navigation 4 | Version: 2.3.0 (Revolution compatible) 5 | Authors: 6 | Kyle Jaebker (muddydogpaws.com) 7 | Ryan Thrash (vertexworks.com) 8 | Shaun McCormick (splittingred.com) 9 | :::::::::::::::::::::::::::::::::::::::: 10 | Description: 11 | Totally refactored from original DropMenu nav builder to make it easier to 12 | create custom navigation by using chunks as output templates. By using templates, 13 | many of the paramaters are no longer needed for flexible output including tables, 14 | unordered- or ordered-lists (ULs or OLs), definition lists (DLs) or in any other 15 | format you desire. 16 | :::::::::::::::::::::::::::::::::::::::: 17 | Example Usage: 18 | [[Wayfinder? &startId=`0`]] 19 | :::::::::::::::::::::::::::::::::::::::: -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/template_revisited.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

    Change the css stylesheets to alter the menu type!

    10 | Possible values are:
    11 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/flyout_ie.css: -------------------------------------------------------------------------------- 1 | table {border-collapse:collapse; border:0; margin:0; padding:0;} 2 | 3 | .menu ul li a.hide, .menu ul li a:visited.hide {display:none;} 4 | .menu ul li a:hover ul li a.hide {display:none;} 5 | 6 | .menu ul li a:hover {color:#fff; background:#b3ab79;} 7 | .menu ul li a:hover ul {display:block; position:absolute; top:0; left:105px; width:105px;} 8 | .menu ul li a:hover ul li a.sub {background:#dfc184; color:#000;} 9 | .menu ul li a:hover ul li a {display:block; background:#b3ab79; color:#fff; width:150px;} 10 | .menu ul li a:hover ul li a ul {visibility:hidden;} 11 | .menu ul li a:hover ul li a:hover {background:#dfc184; color:#000;} 12 | .menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:151px; top:0; color:#000;} 13 | .menu ul li a:hover ul li a:hover ul li a {display:block; width:200px; background:#dfc184; color:#000;} 14 | .menu ul li a:hover ul li a:hover ul li a:hover {background:#bd8d5e; color:#fff;} 15 | -------------------------------------------------------------------------------- /core/components/wayfinder/configs/cssplay-dropdown.config.php: -------------------------------------------------------------------------------- 1 | 8 | 11 | '; 12 | 13 | $rowTpl = '@CODE:[[+wf.linktext]][[+wf.wrapper]]'; 14 | 15 | $parentRowTpl = '@CODE:
  • [[+wf.linktext]] 16 | 20 | [[+wf.wrapper]] 21 | 25 |
  • '; 26 | 27 | $cssTpl = '@CODE: 28 | '; -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/basic_dd_ie.css: -------------------------------------------------------------------------------- 1 | /* styling specific to Internet Explorer IE5.5 and IE6. Yet to see if IE7 handles li:hover */ 2 | 3 | /* Get rid of any default table style */ 4 | table { 5 | border-collapse:collapse; 6 | margin:0; 7 | padding:0; 8 | } 9 | /* ignore the link used by 'other browsers' */ 10 | .menu ul li a.hide, .menu ul li a:visited.hide { 11 | display:none; 12 | } 13 | /* set the background and foreground color of the main menu link on hover */ 14 | .menu ul li a:hover { 15 | color:#fff; 16 | background:#b3ab79; 17 | } 18 | /* make the sub menu ul visible and position it beneath the main menu list item */ 19 | .menu ul li a:hover ul { 20 | display:block; 21 | position:absolute; 22 | top:32px; 23 | left:0; 24 | width:105px; 25 | } 26 | /* style the background and foreground color of the submenu links */ 27 | .menu ul li a:hover ul li a { 28 | background:#faeec7; 29 | color:#000; 30 | } 31 | /* style the background and forground colors of the links on hover */ 32 | .menu ul li a:hover ul li a:hover { 33 | background:#dfc184; 34 | color:#000; 35 | } 36 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/upmenu_ie.css: -------------------------------------------------------------------------------- 1 | table {border-collapse:collapse; margin:0; padding:0;} 2 | .menu ul li a.hide, .menu ul li a:visited.hide {display:none;} 3 | .menu ul li a:hover ul li a.hide {display:none;} 4 | 5 | .menu ul li a:hover {color:#000; background:#e9e9c7;} 6 | .menu ul li a:hover ul {display:block; position:absolute; bottom:26px; left:0;} 7 | .menu ul li a:hover ul li {display:block; background:#fff; color:#000; width:199px;} 8 | .menu ul li a:hover ul li a.sub {background:#a7c9c9; color:#000;} 9 | .menu ul li a:hover ul li a {display:block; background:#c9a7c9; color:#000; width:100%; padding-left:10px;} 10 | .menu ul li a:hover ul li a ul {visibility:hidden;} 11 | .menu ul li a:hover ul li a:hover {background:#dfc184; color:#000;} 12 | .menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:210px; bottom:0;} 13 | .menu ul li a:hover ul li a:hover ul li a {background:#dfc184; color:#000;} 14 | .menu ul li a:hover ul li a:hover ul li a:hover {background:#c9c9a7; color:#000;} 15 | 16 | .menu ul li a:hover ul.left {left:-105px;} 17 | .menu ul li a:hover ul li a:hover ul.left {left:-210px;} 18 | -------------------------------------------------------------------------------- /core/components/wayfinder/configs/cssplay-flyout.config.php: -------------------------------------------------------------------------------- 1 | 8 | 11 | '; 12 | 13 | $rowTpl = '@CODE:[[+wf.linktext]][[+wf.wrapper]]'; 14 | 15 | $parentRowTpl = '@CODE:
  • [[+wf.linktext]] 16 | 20 | [[+wf.wrapper]] 21 | 25 |
  • '; 26 | 27 | $innerTpl = '@CODE:
      28 | [[+wf.wrapper]] 29 |
    '; 30 | 31 | $cssTpl = '@CODE: 32 | '; -------------------------------------------------------------------------------- /core/components/wayfinder/configs/cssplay-upmenu.config.php: -------------------------------------------------------------------------------- 1 | 8 |
      9 | [[+wf.wrapper]] 10 |
    11 | '; 12 | 13 | $rowTpl = '@CODE:[[+wf.linktext]][[+wf.wrapper]]'; 14 | 15 | $parentRowTpl = '@CODE:
  • [[+wf.linktext]] 16 | 20 | [[+wf.wrapper]] 21 | 25 |
  • '; 26 | 27 | $innerTpl = '@CODE:
      28 | [[+wf.wrapper]] 29 |
    '; 30 | 31 | $cssTpl = '@CODE: 32 | '; -------------------------------------------------------------------------------- /core/components/wayfinder/configs/cssplay-dropline.config.php: -------------------------------------------------------------------------------- 1 | 8 |
      9 | [[+wf.wrapper]] 10 |
    11 | '; 12 | 13 | $rowTpl = '@CODE:[[+wf.linktext]][[+wf.wrapper]]'; 14 | 15 | $parentRowTpl = '@CODE:
  • [[+wf.linktext]] 16 | 20 | [[+wf.wrapper]] 21 | 25 |
  • '; 26 | 27 | $innerTpl = '@CODE:
      28 | [[+wf.wrapper]] 29 |
    '; 30 | 31 | $cssTpl = '@CODE: 32 | '; -------------------------------------------------------------------------------- /core/components/wayfinder/configs/cssplay-basicdropdown.config.php: -------------------------------------------------------------------------------- 1 | 8 |
      9 | [[+wf.wrapper]] 10 |
    11 | '; 12 | 13 | $rowTpl = '@CODE:[[+wf.linktext]][[+wf.wrapper]]'; 14 | 15 | $parentRowTpl = '@CODE:
  • [[+wf.linktext]] 16 | 20 | [[+wf.wrapper]] 21 | 25 |
  • '; 26 | 27 | $innerTpl = '@CODE:
      28 | [[+wf.wrapper]] 29 |
    '; 30 | 31 | $cssTpl = '@CODE: 32 | '; -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/dropline_ie.css: -------------------------------------------------------------------------------- 1 | table {border-collapse:collapse; margin:0; padding:0;} 2 | 3 | .menu ul li a.hide, .menu ul li a:visited.hide {display:none;} 4 | .menu ul li a:hover ul li a.hide {display:none;} 5 | .menu ul li a, .menu ul li a:visited {background:#c9c9a7 url(drop.gif) 20px right no-repeat;} 6 | 7 | 8 | .menu ul li a:hover {color:#fff; background:#b3ab79;} 9 | .menu ul li a:hover ul {display:block; position:absolute; width:749px; top:30px; left:0; background:#b3ab79; color:#fff;} 10 | .menu ul li a:hover ul.right_side li {float:right; border-width:0 1px 0 0 0;} 11 | .menu ul li a:hover ul.left_side li {float:left;} 12 | .menu ul li a:hover ul li a.sub {background:#bd8d5e url(drop2.gif) 20px right no-repeat; color:#fff;} 13 | .menu ul li a:hover ul li a {display:block; background:#b3ab79; color:#fff;} 14 | .menu ul li a:hover ul li a ul {visibility:hidden;} 15 | .menu ul li a:hover ul li a:hover {background:#dfc184; color:#000;} 16 | .menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:0; top:30px; color:#000; background:#dfc184;} 17 | .menu ul li a:hover ul li a:hover ul li a {background:#dfc184; color:#000;} 18 | .menu ul li a:hover ul li a:hover ul li a:hover {background:#bd8d5e; color:#fff;} 19 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/dropdown.css: -------------------------------------------------------------------------------- 1 | /* common styling */ 2 | .menu {font-family: arial, sans-serif; width:750px; position:relative; margin:0; font-size:11px; margin:2px 0 100px 0; z-index:100;} 3 | .menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000;width:104px; height:20px; text-align:center; color:#fff; border:1px solid #fff; background:#710069; line-height:20px; font-size:11px; overflow:hidden;} 4 | .menu ul {padding:0; margin:0;list-style-type: none; } 5 | .menu ul li {float:left; margin-right:1px; position:relative;} 6 | .menu ul li ul {display: none;} 7 | 8 | /* specific to non IE browsers */ 9 | .menu ul li:hover a {color:#fff; background:#36f;} 10 | .menu ul li:hover ul {display:block; position:absolute; top:21px; left:0; width:105px;} 11 | .menu ul li:hover ul li a.hide {background:#6a3; color:#fff;} 12 | .menu ul li:hover ul li:hover a.hide {background:#6fc; color:#000;} 13 | .menu ul li:hover ul li ul {display: none;} 14 | .menu ul li:hover ul li a {display:block; background:#ddd; color:#000;} 15 | .menu ul li:hover ul li a:hover {background:#6fc; color:#000;} 16 | .menu ul li:hover ul li:hover ul {display:block; position:absolute; left:105px; top:0;} 17 | .menu ul li:hover ul li:hover ul.left {left:-105px;} 18 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/flyout.css: -------------------------------------------------------------------------------- 1 | /* common styling */ 2 | .menu {font-family: arial, sans-serif; width:106px; height:150px; position:relative; margin:0; font-size:11px; margin:50px 0;} 3 | .menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000; width:104px; height:20px; text-align:center; border:1px solid #fff; border-width:1px 1px 0 0; background:#c9c9a7; line-height:19px; font-size:11px;} 4 | .menu ul {padding:0; margin:0;list-style-type: none; } 5 | .menu ul li {float:left; margin-right:1px; position:relative;} 6 | .menu ul li ul {display: none;} 7 | 8 | /* specific to non IE browsers */ 9 | .menu ul li:hover a {color:#fff; background:#b3ab79;} 10 | .menu ul li:hover ul {display:block; position:absolute; top:0; left:105px; width:105px;} 11 | .menu ul li:hover ul li a.hide {background:#dfc184; color:#000;} 12 | .menu ul li:hover ul li:hover a.hide {width:150px;} 13 | .menu ul li:hover ul li ul {display: none;} 14 | .menu ul li:hover ul li a {display:block; background:#b3ab79; color:#000; width:150px;} 15 | .menu ul li:hover ul li a:hover {background:#dfc184; color:#000;} 16 | .menu ul li:hover ul li:hover ul {display:block; position:absolute; left:151px; top:0; color:#000;} 17 | .menu ul li:hover ul li:hover ul li a {display:block; width:200px; background:#dfc184; color:#000;} 18 | .menu ul li:hover ul li:hover ul li a:hover {background:#bd8d5e; color:#fff;} 19 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/slidingdoors/slidingdoors.css: -------------------------------------------------------------------------------- 1 | /* 2 | SlidingDoors CSS by 3 | Douglas Bowman 4 | http://www.stopdesign.com 5 | http://www.alistapart.com/articles/slidingdoors2/ 6 | */ 7 | 8 | #menu { 9 | float:left; 10 | width:100%; 11 | background:#DAE0D2 url("images/bg.gif") repeat-x bottom; 12 | font-size:93%; 13 | line-height:normal; 14 | } 15 | #menu ul { 16 | margin:0; 17 | padding:10px 10px 0; 18 | list-style:none; 19 | } 20 | #menu li { 21 | float:left; 22 | background:url("images/left_both.gif") no-repeat left top; 23 | margin:0; 24 | padding:0 0 0 9px; 25 | border-bottom:1px solid #765; 26 | } 27 | #menu a { 28 | float:left; 29 | display:block; 30 | width:.1em; 31 | background:url("images/right_both.gif") no-repeat right top; 32 | padding:5px 15px 4px 6px; 33 | text-decoration:none; 34 | font-weight:bold; 35 | color:#765; 36 | } 37 | #menu > ul a {width:auto;} 38 | /* Commented Backslash Hack hides rule from IE5-Mac \*/ 39 | #menu a {float:none;} 40 | /* End IE5-Mac hack */ 41 | #menu a:hover { 42 | color:#333; 43 | } 44 | #menu li.current { 45 | background-position:0 -150px; 46 | border-width:0; 47 | } 48 | #menu li.current a { 49 | background-position:100% -150px; 50 | padding-bottom:5px; 51 | color:#333; 52 | } 53 | #menu li:hover, #header li:hover a { 54 | background-position:0% -150px; 55 | color:#333; 56 | } 57 | #menu li:hover a { 58 | background-position:100% -150px; 59 | } -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/upmenu.css: -------------------------------------------------------------------------------- 1 | /* common styling */ 2 | .menu {font-family: verdana, arial, sans-serif; width:735px; position:relative; font-size:11px; margin:50px auto;} 3 | .menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; width:94px; height:25px; text-align:left; color:#000; padding-left:10px; border:1px solid #fff; border-width:0 1px 1px 0; background:#c9c9a7; line-height:25px; font-size:11px;} 4 | .menu ul {padding:0; margin:0;list-style-type: none; } 5 | .menu ul li {float:left; position:relative;} 6 | .menu ul li ul {display: none;} 7 | 8 | /* specific to non IE browsers */ 9 | .menu ul li:hover a {color:#000; background:#e9e9c7;} 10 | .menu ul li:hover ul {display:block; position:absolute; bottom:26px; left:0;} 11 | .menu ul li:hover ul li a.hide {background:#a7c9c9; color:#000;} 12 | .menu ul li:hover ul li {display:block; background:#fff; color:#000;width:199px; clear:both;} 13 | .menu ul li:hover ul li:hover a.hide {background:#dfc184; color:#000;} 14 | .menu ul li:hover ul li ul {display: none;} 15 | .menu ul li:hover ul li a {display:block; background:#c9a7c9; color:#000; width:100%; padding-left:10px;} 16 | .menu ul li:hover ul li a:hover {background:#dfc184; color:#000;} 17 | .menu ul li:hover ul li:hover ul {display:block; position:absolute; left:210px; bottom:0;} 18 | .menu ul li:hover ul li:hover ul li a {background:#dfc184; color:#000;} 19 | .menu ul li:hover ul li:hover ul li a:hover {background:#c9c9a7; color:#000;} 20 | 21 | .menu ul li:hover ul.left {left:-105px;} 22 | .menu ul li:hover ul li:hover ul.left {left:-210px; width:209px;} 23 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 |

    Change the css stylesheets to alter the menu type!

    13 | Possible values are:
    14 | 21 | 22 | [!Wayfinder? &startId=`0` &level=`3` &parentClass=`hide` &parentRowTpl=`wfParentRow` &outerTpl=`wfOuter` &innerTpl=`wfInner` &rowTpl=`wfRow`]] 23 | 24 | 25 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/dropline.css: -------------------------------------------------------------------------------- 1 | /* common styling */ 2 | .menu {font-family: arial, sans-serif; width:749px; height:30px; position:relative; margin:0; font-size:11px; margin:50px 0; background:#fff; position:relative;} 3 | .menu ul {padding:0; margin:0; list-style-type: none;} 4 | .menu ul li {float:left; border-left:1px solid #eee; width:106px;} 5 | .menu ul li a, .menu ul li a:visited {display:block; float:left; width:101px; text-decoration:none; padding:0 0 0 5px; height:30px; line-height:30px; color:#000; background:#c9c9a7 url(drop.gif) bottom right no-repeat;} 6 | .menu ul li ul {display: none;} 7 | 8 | /* specific to non IE browsers */ 9 | .menu ul li:hover a {color:#fff; background:#b3ab79;} 10 | .menu ul li:hover ul {display:block; position:absolute; width:749px; top:30px; left:0; background:#b3ab79; color:#fff;} 11 | .menu ul li:hover ul.right_side li {float:right; border:0; border-left:1px solid #eee;} 12 | .menu ul li:hover ul.left_side li {float:left; border:0; border-left:1px solid #eee;} 13 | .menu ul li:hover ul li a.hide {background:#bd8d5e url(drop2.gif) bottom right no-repeat; color:#fff;} 14 | .menu ul li:hover ul li:hover a.hide {background:#b3ab79; color:#fff;} 15 | .menu ul li:hover ul li ul {display: none;} 16 | .menu ul li:hover ul li a {display:block; background:##b3ab79; color:#fff;} 17 | .menu ul li:hover ul li a:hover {background:#dfc184; color:#000;} 18 | .menu ul li:hover ul li:hover ul {display:block; position:absolute; left:0; top:30px; color:#000; background:#dfc184;} 19 | .menu ul li:hover ul.right li {float:right;} 20 | .menu ul li:hover ul li:hover a.hide {background:#dfc184; color:#000;} 21 | .menu ul li:hover ul li:hover ul li a {background:#dfc184; color:#000;} 22 | .menu ul li:hover ul li:hover ul li a:hover {background:#bd8d5e; color:#fff;} -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/basic_dd.css: -------------------------------------------------------------------------------- 1 | /* common styling */ 2 | /* set up the overall width of the menu div, the font and the margins */ 3 | 4 | .menu { 5 | font-family: arial, sans-serif; 6 | width:750px; 7 | margin:0; 8 | margin:20px 0 60px 0; 9 | position:relative; 10 | z-index:100; 11 | } 12 | /* remove the bullets and set the margin and padding to zero for the unordered list */ 13 | .menu ul { 14 | padding:0; 15 | margin:0; 16 | list-style-type: none; 17 | } 18 | /* float the list so that the items are in a line and their position relative so that the drop down list will appear in the right place underneath each list item */ 19 | .menu ul li { 20 | float:left; 21 | position:relative; 22 | } 23 | /* style the links to be 104px wide by 30px high with a top and right border 1px solid white. Set the background color and the font size. */ 24 | .menu ul li a, .menu ul li a:visited { 25 | display:block; 26 | text-align:center; 27 | text-decoration:none; 28 | width:106px; 29 | height:30px; 30 | color:#000; 31 | border:1px solid #fff; 32 | border-width:1px 1px 0 0; 33 | background:#c9c9a7; 34 | line-height:30px; 35 | font-size:11px; 36 | } 37 | /* make the dropdown ul invisible */ 38 | .menu ul li ul { 39 | display: none; 40 | } 41 | 42 | /* specific to non IE browsers */ 43 | /* set the background and foreground color of the main menu li on hover */ 44 | .menu ul li:hover a { 45 | color:#fff; 46 | background:#b3ab79; 47 | } 48 | /* make the sub menu ul visible and position it beneath the main menu list item */ 49 | .menu ul li:hover ul { 50 | display:block; 51 | position:absolute; 52 | top:31px; 53 | left:0; 54 | width:105px; 55 | } 56 | /* style the background and foreground color of the submenu links */ 57 | .menu ul li:hover ul li a { 58 | display:block; 59 | background:#faeec7; 60 | color:#000; 61 | } 62 | /* style the background and forground colors of the links on hover */ 63 | .menu ul li:hover ul li a:hover { 64 | background:#dfc184; 65 | color:#000; 66 | } 67 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/flyout_revisited.css: -------------------------------------------------------------------------------- 1 | .menu { 2 | position:relative; 3 | z-index:1000; 4 | font-size:90%; 5 | } 6 | 7 | /* remove all the bullets, borders and padding from the default list styling */ 8 | .menu ul { 9 | padding:0; 10 | margin:0; 11 | list-style-type:none; 12 | width:150px; 13 | } 14 | /* hack for IE5.5 */ 15 | * html .menu ul {margin-left:-16px; ma\rgin-left:0;} 16 | /* position relative so that you can position the sub levels */ 17 | .menu li { 18 | position:relative; 19 | } 20 | 21 | /* get rid of the table */ 22 | table {position:absolute; top:0; left:0; z-index:100; font-size:1em;} 23 | 24 | /* style the links */ 25 | .menu a, .menu a:visited { 26 | display:block; 27 | text-decoration:none; 28 | height:25px; 29 | line-height:25px; 30 | width:149px; 31 | color:#000; 32 | background:#d4d8bd; 33 | text-indent:5px; 34 | border:1px solid #fff; 35 | border-width:0 1px 1px 0; 36 | } 37 | /* hack for IE5.5 */ 38 | * html .menu a, * html .menu a:visited {width:150px; w\idth:149px;} 39 | /* style the link hover */ 40 | .menu a:hover{ 41 | color:#fff; 42 | background:#949e7c; 43 | } 44 | 45 | /* hide the sub levels and give them a positon absolute so that they take up no room */ 46 | .menu ul ul { 47 | visibility:hidden; 48 | position:absolute; 49 | top:0; 50 | left:150px; 51 | } 52 | /* make the second level visible when hover on first level list OR link */ 53 | .menu ul :hover ul{ 54 | visibility:visible; 55 | } 56 | /* keep the third level hidden when you hover on first level list OR link */ 57 | .menu ul :hover ul ul{ 58 | visibility:hidden; 59 | } 60 | /* keep the fourth level hidden when you hover on second level list OR link */ 61 | .menu ul :hover ul :hover ul ul{ 62 | visibility:hidden; 63 | } 64 | /* make the third level visible when you hover over second level list OR link */ 65 | .menu ul :hover ul :hover ul{ 66 | visibility:visible; 67 | } 68 | /* make the fourth level visible when you hover over third level list OR link */ 69 | .menu ul :hover ul :hover ul :hover ul { 70 | visibility:visible; 71 | } -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/chunks.txt: -------------------------------------------------------------------------------- 1 | *********************************************************************************************************** 2 | Create following chunks for all other than the revisited flyout and dropdown menus (for these, see below) * 3 | * 4 | These chunks are meant for the menus that are in template.html !! * 5 | * 6 | wfOuter: 7 | -------- 8 | 9 | 14 | 15 | wfInner: 16 | -------- 17 | 18 |
      19 | [+wf.wrapper+] 20 |
    21 | 22 | wfParentRow: 23 | ------------ 24 | 25 |
  • [+wf.linktext+] 26 | 27 | 31 | 32 | [+wf.wrapper+] 33 | 34 | 38 | 39 |
  • 40 | 41 | wfRow: 42 | ------ 43 | 44 | [+wf.linktext+][+wf.wrapper+] 45 | 46 | 47 | *********************************************************************************************************** 48 | For the revisited flyout and dropdown menu, you only need the following chunk * 49 | * 50 | This chunk is meant for the menus that are in template_revisited.html !! * 51 | * 52 | wfParentRow: 53 | ------------ 54 | 55 |
  • [+wf.linktext+] 56 |
    57 | 58 | [+wf.wrapper+] 59 | 60 |
    61 | 62 | 63 |
  • -------------------------------------------------------------------------------- /core/components/wayfinder/examples/cssplay/ultimate_drop.css: -------------------------------------------------------------------------------- 1 | /* common styling */ 2 | .menu { 3 | font-family: verdana, sans-serif; 4 | width:750px; 5 | position:relative; 6 | font-size:0.85em; 7 | z-index:100; 8 | } 9 | .menu ul { 10 | padding:0; 11 | margin:0; 12 | list-style-type: none; 13 | } 14 | .menu ul li { 15 | float:left; 16 | position:relative; 17 | } 18 | .menu ul li a, .menu ul li a:visited { 19 | display:block; 20 | text-decoration:none; 21 | color:#000; 22 | width:139px; 23 | height:3em; 24 | color:#000; 25 | border:1px solid #fff; 26 | border-width:1px 1px 0 0; 27 | background:#dfc184; 28 | padding-left:10px; 29 | line-height:3em; 30 | } 31 | * html .menu ul li a, .menu ul li a:visited { 32 | width:149px; 33 | w\idth:139px; 34 | } 35 | .menu ul li ul { 36 | display: none; 37 | } 38 | table { 39 | margin:-1px; 40 | border-collapse:collapse; 41 | font-size:1em; 42 | } 43 | 44 | /* specific to non IE browsers */ 45 | .menu ul li:hover a, 46 | .menu ul li a:hover { 47 | color:#fff; 48 | background:#bd8d5e; 49 | } 50 | 51 | .menu ul li:hover ul, 52 | .menu ul li a:hover ul { 53 | display:block; 54 | position:absolute; 55 | top:3em; 56 | margin-top:1px; 57 | left:0; 58 | width:150px; 59 | } 60 | * html .menu ul li a:hover ul { 61 | margin-top:0; 62 | marg\in-top:1px; 63 | } 64 | 65 | .menu ul li:hover ul li ul, 66 | .menu ul li a:hover ul li a ul { 67 | visibility:hidden; 68 | position:absolute; 69 | height:0; 70 | width:0; 71 | } 72 | 73 | .menu ul li:hover ul li a, 74 | .menu ul li a:hover ul li a { 75 | display:block; 76 | background:#faeec7; 77 | color:#000; 78 | height:auto; 79 | line-height:1.2em; 80 | padding:5px 10px; 81 | width:129px 82 | } 83 | * html .menu ul li a:hover ul li a { 84 | width:150px; 85 | w\idth:129px; 86 | } 87 | 88 | .menu ul li:hover ul li a.drop, 89 | .menu ul li a:hover ul li a.drop { 90 | background:#c9c9a7 url(drop.gif) bottom right no-repeat; 91 | } 92 | 93 | .menu ul li:hover ul li a:hover, 94 | .menu ul li a:hover ul li a:hover { 95 | background:#c9c9a7; 96 | color:#000; 97 | } 98 | 99 | .menu ul li:hover ul li:hover ul, 100 | .menu ul li a:hover ul li a:hover ul { 101 | visibility:visible; 102 | position:absolute; 103 | left:150px; 104 | top:0; 105 | width:150px; 106 | } 107 | 108 | .menu ul li:hover ul li:hover ul.left, 109 | .menu ul li a:hover ul li a:hover ul.left { 110 | left:-150px; 111 | } 112 | -------------------------------------------------------------------------------- /core/components/wayfinder/examples/mollio/mollio-menu.css: -------------------------------------------------------------------------------- 1 | '; -------------------------------------------------------------------------------- /core/components/wayfinder/wayfinder.snippet.php: -------------------------------------------------------------------------------- 1 | getOption('wayfinder.core_path',$scriptProperties,$modx->getOption('core_path').'components/wayfinder/'); 26 | 27 | /* include a custom config file if specified */ 28 | if (isset($scriptProperties['config'])) { 29 | $scriptProperties['config'] = str_replace('../','',$scriptProperties['config']); 30 | $scriptProperties['config'] = $wayfinder_base.'configs/'.$scriptProperties['config'].'.config.php'; 31 | } else { 32 | $scriptProperties['config'] = $wayfinder_base.'configs/default.config.php'; 33 | } 34 | if (file_exists($scriptProperties['config'])) { 35 | include $scriptProperties['config']; 36 | } 37 | 38 | /* include wayfinder class */ 39 | include_once $wayfinder_base.'wayfinder.class.php'; 40 | if (!$modx->loadClass('Wayfinder',$wayfinder_base,true,true)) { 41 | return 'error: Wayfinder class not found'; 42 | } 43 | $wf = new Wayfinder($modx,$scriptProperties); 44 | 45 | /* get user class definitions 46 | * TODO: eventually move these into config parameters */ 47 | $wf->_css = array( 48 | 'first' => isset($firstClass) ? $firstClass : '', 49 | 'last' => isset($lastClass) ? $lastClass : 'last', 50 | 'here' => isset($hereClass) ? $hereClass : 'active', 51 | 'parent' => isset($parentClass) ? $parentClass : '', 52 | 'row' => isset($rowClass) ? $rowClass : '', 53 | 'outer' => isset($outerClass) ? $outerClass : '', 54 | 'inner' => isset($innerClass) ? $innerClass : '', 55 | 'level' => isset($levelClass) ? $levelClass: '', 56 | 'self' => isset($selfClass) ? $selfClass : '', 57 | 'weblink' => isset($webLinkClass) ? $webLinkClass : '' 58 | ); 59 | 60 | /* get user templates 61 | * TODO: eventually move these into config parameters */ 62 | $wf->_templates = array( 63 | 'outerTpl' => isset($outerTpl) ? $outerTpl : '', 64 | 'rowTpl' => isset($rowTpl) ? $rowTpl : '', 65 | 'parentRowTpl' => isset($parentRowTpl) ? $parentRowTpl : '', 66 | 'parentRowHereTpl' => isset($parentRowHereTpl) ? $parentRowHereTpl : '', 67 | 'hereTpl' => isset($hereTpl) ? $hereTpl : '', 68 | 'innerTpl' => isset($innerTpl) ? $innerTpl : '', 69 | 'innerRowTpl' => isset($innerRowTpl) ? $innerRowTpl : '', 70 | 'innerHereTpl' => isset($innerHereTpl) ? $innerHereTpl : '', 71 | 'activeParentRowTpl' => isset($activeParentRowTpl) ? $activeParentRowTpl : '', 72 | 'categoryFoldersTpl' => isset($categoryFoldersTpl) ? $categoryFoldersTpl : '', 73 | 'startItemTpl' => isset($startItemTpl) ? $startItemTpl : '' 74 | ); 75 | 76 | /* process Wayfinder */ 77 | $output = $wf->run(); 78 | if ($wf->_config['debug']) { 79 | $output .= $wf->renderDebugOutput(); 80 | } 81 | 82 | /* output results */ 83 | if ($wf->_config['ph']) { 84 | $modx->setPlaceholder($wf->_config['ph'],$output); 85 | } else { 86 | return $output; 87 | } -------------------------------------------------------------------------------- /core/components/wayfinder/examples/mollio/howto.txt: -------------------------------------------------------------------------------- 1 | And here's a quick tutorial for the testers. The following is how you would convert the popular Mollio Menu template menus with Wayfinder. I think you'll see how much easier it will be to create dynamic, nested menus compared to DropMenu. This is totally untested, but it should work... 2 | 3 | First, reference this [url=http://www.mollio.org/typeC.html]example page[/url]. Nice eh? 4 | 5 | For reference, here's the Menu Code: 6 | [code][/code] 52 | 53 | Your example call: 54 | [code][[Wayfinder? &startId=`0` &level=`2` &outerTpl=`wfOuter` &innerTpl=`wfInner` &rowTpl=`wfRow` &hereClass=`active` &firstClass=`first` &lastClass=`last`]][/code] 55 | 56 | Your outer template – [b]{{wfOuter}}[/b] : 57 | [code][/code] 60 | 61 | Your inner template – [b]{{wfInner}}[/b] : 62 | [code]
      63 | [+wf.wrapper+] 64 |
    [/code] 65 | 66 | Your row template – [b]{{wfRow}}[/b] : 67 | [code][+wf.linktext+][+wf.wrapper+][/code] 68 | 69 | Add the following CSS to your template: 70 | [code]