DataLife Engine > Версия для печати > Микроразметка рейтинга DLE 9-10x

Данный способ микроразметки полностью работает. Звёзды появились в выдаче google где-то через пол года, может и больше. В инструментах веб-мастеров google данные о микроразметке вообще отсутствуют, Размечать, будем стандартный рейтинг в 5 звезд.

Семантическая микроразметка рейтинга в 5 звезд

Как всегда, перед началом внесения изменений в код движка, хочу вас предупредить, о возможных непредвиденных казусах, потому, всегда, делайте резервные копии редактируемых файлов. Сегодня, будем модифицировать такие файлы: — /engine/modules/functions.php- /engine/modules/show.full.php- /engine/modules/show.short.php- /templates/*Имя Темы*/shortstory.tpl

— /templates/*Имя Темы*/fullstory.tpl

Предлагаю немного модифицировать наш functions.php

Открываем /engine/modules/functions.php и находим:

function ShowRating($id, $rating, $vote_num, $allow = true) {
        global $lang;

        if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 0 );
        else $rating = 0;
        $rating = $rating * 20;

        if( !$allow ) {

                $rated = set( '[/rating]', "" );
} else {

Открываем engine/modules/show.short.php и находим:

if( $row['allow_rate'] ) {
                        $tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
                        $tpl->set( '{vote-num}', "".$row['vote_num']."" );
                        $tpl->set( '[rating]', "" );
                        $tpl->set( '[/rating]', "" );

                    } else {

Заменяем на:

if ( $row['vote_num'] == 0 ) $row['vote_num'] = 1;
if ( $row['vote_num'] == 0 ) $row['vote_num'] = 1;
if( $row['allow_rate'] ) {
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
$tpl->set( '{vote-num}', "".$row['vote_num']."" );
$tpl->set( '[rating]', "" );
$tpl->set( '[/rating]', "" );
} else {

Сохраняем изменения и закидываем на хостинг с заменой!Итак, мы подготовили и модифицировали стандартный рейтинг. Осталось, вывести его на страницы, краткой и полной новости.

Открываем /templates/*Имя Темы*/fullstory.tpl (shortstory.tpl) и в месте вывода рейтинга вставляем:

[rating]{rating}{vote-num}[/rating]

 Если не знаете что и как заменять В каждом шаблоне вывод рейтинга разный, выглядит примерно так

[rating]{rating}[/rating]

Если у вас в выводе рейтинга присутствует какой-либо класс (в примере class=»full-rating») то нужно этот класс скопировать в код для вставки.Получается вместо:

[rating]{rating}[/rating]

Должно выйти:

[rating]{rating}{vote-num}[/rating]

Здесь стоит заменить что в размешиваемом теге (в этом случае тег span) должен присутствовать тег {vote-num}, я его скрыл с помощью стилей, если вам нужно — можете открыть (убрав style=»display:none;»), но убирать нельзя, так ка не будет размечен reviewcount.

Ищем тег {title} и заменяем на:

{title}

В начало файла вставляем: В конце файла ставим:

Ищем тег {full-story} и заменяем на:

{full-story}

Это разметка description, что бы не было ошибки Валидатора Яндекс:

ПРЕДУПРЕЖДЕНИЕ:

не выполнено обязательное условие для острова «Статья» — обязательное поле description отсутствуетСохраняем изменения и закидываем на хостинг с заменой!

Автор: ???

Вернуться назад