sistema de gestión de contenido de DataLife Engine.
Como se sabe, en DLE, a partir de la versión 10.0, se agregaron a la barra de velocidad (speedbar) las llamadas migas de pan para el micromarking.
Todo funciona correctamente y el motor de búsqueda las lee normalmente, incluso el validador no muestra ningún error, pero hay un matiz.
Preste atención a la línea con el parámetro itemtype:
No sé sobre ti, pero no me gusta. Por lo tanto, convertí la barra de velocidad en una vista compacta según el esquema:
Buscar el siguiente código (Parte Inferior - 1274.):
Como se sabe, en DLE, a partir de la versión 10.0, se agregaron a la barra de velocidad (speedbar) las llamadas migas de pan para el micromarking.
Todo funciona correctamente y el motor de búsqueda las lee normalmente, incluso el validador no muestra ningún error, pero hay un matiz.
Preste atención a la línea con el parámetro itemtype:
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
En la dirección dada En la herramienta de prueba de datos estructurados. Eso es un error.No sé sobre ti, pero no me gusta. Por lo tanto, convertí la barra de velocidad en una vista compacta según el esquema:
schema.org/BreadcrumbList
Para ello abriremos el archivo engine/engine.phpBuscar el siguiente código (Parte Inferior - 1274.):
/*
=====================================================
speedbar creation
=====================================================
*/
if ($config['speedbar'] AND !$view_template ) {
......
}
?>
Reemplazar con:if ($config['speedbar'] AND !$view_template ) {
function get_breadcrumblistcategories($id,$sec = false){
global $speedbar,$cat_info,$config,$cstart,$dle_module;
if(!$id) return;
$parent_id = $cat_info[$id]['parentid'];
if($parent_id) get_breadcrumblistcategories( $parent_id, true );
if($sec OR $cstart>1 OR $dle_module!='cat') $speedbar[] = array( $config['http_home_url'] . get_url( $id ) . '/', $cat_info[$id]['name'], $cat_info[$id]['metatitle'] );
else $speedbar[] = $cat_info[$id]['name'];
}
$config['speedbar_separator'] = $config['speedbar_separator'] ? trim($config['speedbar_separator']) : "»";
$speedbar = array( array( $config['http_home_url'], $config['short_title'], $config['home_title'] ) );
if (intval($category_id)) get_breadcrumblistcategories( intval($category_id) );
elseif( $do == 'tags' ){
$speedbar[] = array( "/tags/", $lang['tag_cloud'] );
$speedbar[] = $tag;
}elseif($nam_e) $speedbar[] = $nam_e;
if($titl_e) $speedbar[] = $titl_e;
elseif( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) $speedbar[] = $lang['news_site']." ".intval($_GET['cstart']);
foreach($speedbar as $k=>$v){
$speedbar[$k] = '<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">';
$title_s = "<span itemprop="name">".(is_array($v) ? $v[1] : $v)."</span>";
$speedbar[$k] .= is_array($v) ? "<a itemprop="item" href="{$v[0]}" title="".($v[2] ?: $v[1])."">{$title_s}</a>" : $title_s;
$speedbar[$k] .= "<meta itemprop="position" content="".( $k+1 )."" /></li>";
}
$tpl->load_template ( 'speedbar.tpl' );
$tpl->set ( "{speedbar}", "<ul itemscope itemtype="http://schema.org/BreadcrumbList" class="speedbar">".implode("<li class="speedbar_sep">{$config['speedbar_separator']}</li>",$speedbar)."</ul>" );
$tpl->compile ( 'speedbar' );
$tpl->clear();
$tpl->result['speedbar'] = '<div id="dle-speedbar">'.$tpl->result['speedbar'].'</div>';
}
?>
En los estilos puedes agregar:.speedbar{
margin: 0;
padding: 10px;
list-style: none;
}
.speedbar:after{
content: "";
display: block;
clear: both;
}
.speedbar li{
float: left;
margin-right: 6px;
color: #222;
}
.speedbar li.speedbar_sep{
color: #999;
}
Comentarios