Зашел в сниппет Breadcrumbs через админку.
Поменял эту строчку:
$pretemplateCrumb .= ’<a class="’.$crumbClass.’" href="’.$modx->makeUrl($c[’id’]).’" title="’.$title.’">’.$text.’</a>’;
на
$pretemplateCrumb .= ’<a class="’.$crumbClass.’" href="’.(($c[’id’] == $modx->config[’site_start’]) ? $modx->config[’base_url’] : $modx->makeUrl($c[’id’])).’" title="’.$title.’">’.$text.’</a>’;
и строку
while ( $parent && $loopSafety < 1000 )
на
while ( $parent && $parent!=$modx->config[’site_start’] && $loopSafety < 1000 )
И все равно при
[[Breadcrumbs? &showCrumbsAtHome=`1` &homeCrumbDescription=`Перейти на главную страницу` &linkDescField=`longtitle`]]
На главной странице мне показывается "Главная-Главная", причем первая Главная без ссылки, а на других страницах уже "Главная" с ссылкой и отображается правильно.
А зачем на главной странице вообще что-то выводить? То есть зачем нужен параметр &showCrumbsAtHome=`1`?
А для исправления надо в строку, начинающуюся следующими выражениями:
if ( $showHomeCrumb && $homeCrumb = $modx->getPageInfo
добавить проверку, чтобы строка начиналась так:
if ( $showHomeCrumb && $homeId != $modx->documentObject[’id’] && $homeCrumb = $modx->getPageInfo