вопрос
В общем, всё работает отлично в данном коде на DLE 11, НО найден маленький баг: если допустим в категории 1-а страница (то есть, нету 2-ой страницы), то в head отображается:
engine.php , находим:
перед этим вставляем:
Открываем /engine/modules/show.short.php находим :
Ниже вставить :
<link rel="next" href="http://site.net/page/2/" />хотя этой страницы нету!!! Следовательно нужно задать правило, что если в категории одна страница, значит тег rel="next" не добавляется. Программисты помогите пожалуйста доделать!
engine.php , находим:
if ($canonical) {
перед этим вставляем:
if($dle_module == "main" || $dle_module == "cat")
{
$cstarts = isset($_REQUEST["cstart"]) ? intval($_REQUEST["cstart"]) : 1;
$cat_cat = !empty($category) ? strip_tags(stripslashes($category)) . '/' : '';
$all_pages_counts = dle_cache( "news_rel_" . $cat_cat, $cat_cat, false);
if($all_pages_counts === false)
{
$all_pages_counts = intval(ceil( $counts_all / $config['news_number'] ));
create_cache ( "news_rel_" . $cat_cat, $all_pages_counts, $cat_cat, false );
}
if($cstarts < 2 && 1 != $all_pages_counts)
{
$next_rel = PHP_EOL . '<link rel="next" href="'. $config['http_home_url'] . $cat_cat . 'page/2' . '/" />';
$prev_rel = '';
}
else if(1 != $all_pages_counts)
{
if($cstarts >= $all_pages_counts)
$next_rel = '';
else
$next_rel = PHP_EOL . '<link rel="next" href="'. $config['http_home_url'] . $cat_cat . 'page/'. ($cstarts + 1) .'" />';
if($cstarts == 2)
$prev_rel = PHP_EOL . '<link rel="prev" href="'. $config['http_home_url'] . $cat_cat . '" />';
else
$prev_rel = PHP_EOL . '<link rel="prev" href="'. $config['http_home_url'] . $cat_cat . 'page/'. ($cstarts - 1) .'/" />';
}
$metatags .= $prev_rel . $next_rel;
}
Открываем /engine/modules/show.short.php находим :
$count_all = 0;
Ниже вставить :
$all_pages_counts = $count_all;
$all_pages_counts = $count_all;заменить на :
$counts_all = $count_all;