diff --git a/install/assets/snippets/breadcrumbs.tpl b/install/assets/snippets/breadcrumbs.tpl
index b4572238f8..bb1bb81ffe 100644
--- a/install/assets/snippets/breadcrumbs.tpl
+++ b/install/assets/snippets/breadcrumbs.tpl
@@ -1,11 +1,12 @@
+ array(
- 'crumb' => '[+crumb+]',
- 'separator' => ' » ',
- 'crumbContainer' => '[+crumbs+]',
- 'lastCrumbWrapper' => '[+lastCrumbSpanA+]',
- 'firstCrumbWrapper' => '[+firstCrumbSpanA+]'
- ),
- 'defaultList' => array(
- 'crumb' => '
[+crumb+]',
- 'separator' => '',
- 'crumbContainer' => '',
- 'lastCrumbWrapper' => '[+lastCrumbSpanA+]',
- 'firstCrumbWrapper' => '[+firstCrumbSpanA+]'
- ),
-);
+$tpl = get_tpl($templateSet);
+if($templateSet !== 'defaultString' && $templateSet !== 'defaultList')
+{
+ $tpl = get_chunk_tpl($templateSet);
+}
+if(isset($crumb)) $tpl['crumb'] = $crumb;
+if(isset($separator)) $tpl['separator'] = $separator;
+if(isset($crumbContainer)) $tpl['crumbContainer'] = $crumbContainer;
+if(isset($lastCrumbWrapper)) $tpl['lastCrumbWrapper'] = $lastCrumbWrapper;
+if(isset($firstCrumbWrapper)) $tpl['firstCrumbWrapper'] = $firstCrumbWrapper;
/* -----------------------------------------------------------------------------
* END CONFIGURATION
@@ -456,30 +453,79 @@ $pretemplateCrumbs = array_reverse($pretemplateCrumbs);
$pretemplateCrumbs[0] = str_replace(
array('[+firstCrumbClass+]','[+firstCrumbSpanA+]'),
array($stylePrefix.'firstCrumb',$pretemplateCrumbs[0]),
- $templates[$templateSet]['firstCrumbWrapper']
+ $tpl['firstCrumbWrapper']
);
$pretemplateCrumbs[(count($pretemplateCrumbs)-1)] = str_replace(
array('[+lastCrumbClass+]','[+lastCrumbSpanA+]'),
array($stylePrefix.'lastCrumb',$pretemplateCrumbs[(count($pretemplateCrumbs)-1)]),
- $templates[$templateSet]['lastCrumbWrapper']
+ $tpl['lastCrumbWrapper']
);
// Insert crumbs into crumb template
$processedCrumbs = array();
foreach ( $pretemplateCrumbs as $pc )
{
- $processedCrumbs[] = str_replace('[+crumb+]',$pc,$templates[$templateSet]['crumb']);
+ $processedCrumbs[] = str_replace('[+crumb+]',$pc,$tpl['crumb']);
}
// Combine crumbs together into one string with separator
-$processedCrumbs = implode($templates[$templateSet]['separator'],$processedCrumbs);
+$processedCrumbs = implode($tpl['separator'],$processedCrumbs);
// Put crumbs into crumb container template
$container = str_replace(
array('[+crumbBoxClass+]','[+crumbs+]'),
array($stylePrefix.'crumbBox',$processedCrumbs),
- $templates[$templateSet]['crumbContainer']
+ $tpl['crumbContainer']
);
// Return crumbs
-return $container;
\ No newline at end of file
+return $container;
+
+
+
+function get_tpl($templateSet)
+{
+ switch($templateSet)
+ {
+ case 'defaultList':
+ case 'list':
+ case 'li':
+ {
+ $tpl['crumb'] = '[+crumb+]';
+ $tpl['separator'] = '';
+ $tpl['crumbContainer'] = '';
+ $tpl['lastCrumbWrapper'] = '[+lastCrumbSpanA+]';
+ $tpl['firstCrumbWrapper'] = '[+firstCrumbSpanA+]';
+ break;
+ }
+ default:
+ {
+ $tpl['crumb'] = '[+crumb+]';
+ $tpl['separator'] = ' » ';
+ $tpl['crumbContainer'] = '[+crumbs+]';
+ $tpl['lastCrumbWrapper'] = '[+lastCrumbSpanA+]';
+ $tpl['firstCrumbWrapper'] = '[+firstCrumbSpanA+]';
+ }
+ }
+ return $tpl;
+}
+
+function get_chunk_tpl($templateSet)
+{
+ global $modx;
+ $src = $modx->getChunk($templateSet);
+ $lines = explode("\n", $src);
+ foreach($lines as $line)
+ {
+ $line = ltrim($line);
+ if(!empty($line) && $line[0] == '&' && strpos($line,'=')!==false)
+ {
+ list($key,$value) = explode('=',$line,2);
+ $key = trim($key,'& ');
+ $value = trim($value,'`');
+ $tpl[$key] = $value;
+ }
+ }
+ return $tpl;
+}
+?>
\ No newline at end of file