Нужно сделать так, чтобы спидбар работал как нужно, CMS DLE speedbar

Мне нужно, чтобы в хлебных крошках последняя крошка была обернута в тег и была без возможности клика Я уже всю голову сломал над тем как это сделать, пробовал сделать как на сайте днс, но не получается. Мне это нужно для лучшей проходимости сайта, а то он уже 3 года стоит на месте

В основном вот ругается на то, что H1 отсутствует в крошке

Вот код engine.php

/*
=====================================================
speedbar creation
=====================================================
*/

if ($config['speedbar'] AND !$view_template ) {

$elements = [];
$position = 1;

$elements[] = array(
'@type' => "ListItem",
'position' => $position,
'item' => array(
'@id' => $config['http_home_url'],
'name' => $config['short_title'],
)
);
$position++;

$s_navigation = "<a href="{$config['http_home_url']}">" . $config['short_title'] . "</a>";

if( $config['start_site'] == 3 AND $dle_module == "main") $titl_e = "";

if (intval($category_id)){

if($titl_e OR (isset($_GET['cstart']) AND intval($_GET['cstart']) > 1) ) {
$last_link = true;
} else $last_link = false;

$s_navigation .= "{$config['speedbar_separator']}" . get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'], $last_link );

} elseif ($do == 'tags') {

$elements[] = array(
'@type' => "ListItem",
'position' => $position,
'item' => array(
'@id' => $config['http_home_url'].'tags/',
'name' => $lang['tag_cloud'],
)
);
$position++;

if ($config['allow_alt_url']){

$uri = $url_page . "/";
$s_navigation .= "{$config['speedbar_separator']}<a href="{$config['http_home_url']}tags/">{$lang['tag_cloud']}</a>";

} else {

$uri = $PHP_SELF."?do=tags&tag=" . $encoded_tag;
$s_navigation .= "{$config['speedbar_separator']}<a href="?do=tags">{$lang['tag_cloud']}</a>";

}

if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){
$s_navigation .= $config['speedbar_separator']."<a href="{$uri}">{$tag}</a>";
} else $s_navigation .= $config['speedbar_separator'].$tag;

$elements[] = array(
'@type' => "ListItem",
'position' => $position,
'item' => array(
'@id' => $uri,
'name' => $tag,
)
);
$position++;

} elseif ($nam_e) {

$s_navigation .= "{$config['speedbar_separator']}" . $nam_e;

if ($canonical) {
$elements[] = array(
'@type' => "ListItem",
'position' => $position,
'item' => array(
'@id' => $canonical,
'name' => $nam_e,
)
);
$position++;
}
}

if ($titl_e) {

$s_navigation .= "{$config['speedbar_separator']}" . $titl_e;

if ($canonical) {
$elements[] = array(
'@type' => "ListItem",
'position' => $position,
'item' => array(
'@id' => $canonical,
'name' => $titl_e,
)
);
$position++;
}

} else {

if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){

$page_extra = "{$config['speedbar_separator']}".$lang['news_site']." ".intval($_GET['cstart']);

if ($canonical) {
$elements[] = array(
'@type' => "ListItem",
'position' => $position,
'item' => array(
'@id' => $canonical,
'name' => $lang['news_site']." ".intval($_GET['cstart']),
)
);
$position++;
}

} else $page_extra = '';

$s_navigation .= $page_extra;

}

if ( is_array($elements) AND count($elements) > 1) {
DLESEO::AddSchema( DLESEO::Thing('BreadcrumbList', array("itemListElement" => $elements) ) );
}

$tpl->load_template ( 'speedbar.tpl' );
$tpl->set ( '{speedbar}', stripslashes ( $s_navigation ) );
$tpl->compile ( 'speedbar' );
$tpl->clear ();

}

вот код functions.php

function get_breadcrumbcategories($id, $separator="&raquo;", $last_link = true) {

global $cat_info, $config, $PHP_SELF, $elements, $position;

if( !$id ) return;

$parent_id = $cat_info[$id]['parentid'];
$list = $temp = array();
$i = 0;

if( $config['allow_alt_url'] ) $list[0]['link'] = $config['http_home_url'] . get_url( $id ) . "/";
else $list[0]['link'] = "{$PHP_SELF}?do=cat&amp;category={$cat_info[$id]['alt_name']}";

if (!$last_link) {

$list[0]['uri'] = $list[0]['link'];
unset($list[0]['link']);

}

$list[0]['name'] = $cat_info[$id]['name'];

while ( $parent_id ) {
$i++;

if( $config['allow_alt_url'] ) $list[$i]['link'] = $config['http_home_url'] . get_url( $parent_id ) . "/";
else $list[$i]['link'] = "{$PHP_SELF}?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}";

$list[$i]['name'] = $cat_info[$parent_id]['name'];
$parent_id = $cat_info[$parent_id]['parentid'];

if( !isset($cat_info[$parent_id]['id']) OR ( isset($cat_info[$parent_id]['id']) AND !$cat_info[$parent_id]['id']) ) {
break;
}

if($parent_id) {
if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
}

}

if(count($list)) {

$list = array_reverse($list);

foreach($list as $value) {

if( isset($value['link']) AND $value['link']) {
$temp[] = "<a href="{$value['link']}">{$value['name']}</a>";;
} else {
$temp[] = $value['name'];
$value['link'] = $value['uri'];
}

$elements[] = array(
'@type' => "ListItem",
'position' => $position,
'item' => array(
'@id' => $value['link'],
'name' => $value['name'],
)
);
$position++;

}

$list = $temp;
}

return implode($separator, $list);
}

в самом DLE speedbar.tpl выглядит так

<style>
.breadcrumb-list {
list-style: none;
padding: 0;
margin: 0;
}


.breadcrumb-list_item {
display: inline;
}

.ui-link {
color: #333; /* Цвет ссылок */
text-decoration: none; /* Убираем подчеркивание */
}

.ui-link {
color: #fff; /* Цвет ссылок */
text-decoration: none; /* Убираем подчеркивание */
}


.breadcrumb-list > li + li::before {
content: "» ";
color: #666;
padding: 5px;
}


</style>
<div class="speedbar">{speedbar}</div> 

Ответы (0 шт):