Микроразметка второго и третьего типа рейтинга полной новости
Ранее было подробно расписано, как сделать микроразметку первого типа рейтинга в CMS DLE. Все бы ничего, но как быть если материалы на сайте оцениваются вторым типом рейтинга - Нравится или третьим Нравится и Не нравится. Но нашлось решение, как это все можно организовать.
Установка микроразметки второго типа рейтинга полной новости:
Итак, что мы имеем во втором типе рейтинга? Отметку Нравится, то есть количество людей, которым понравилась та или иная новость. Это число мы возьмем за количество проголосовавших, а оценку мы зададим сами. Если число проголосовавших у нас равно 0, то оценка равняется 0, а если больше 0, то например 4.5.
1. Убедится, что в Панели управления DLE > Настройка системы > вкладка Новости - установлен Тип рейтинга публикаций > Нравится.
2. Открыть fullstory.tpl и в самом верху добавить:
<div itemscope itemtype="http://schema.org/Product">
В самом низу добавить:
<meta itemprop="name" content="{title}" />
<div itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating">
<meta itemprop="bestRating" content="5" />
<meta itemprop="ratingValue" content="{numb_rate}" />
<meta itemprop="ratingCount" content="{numb_vote}" />
</div>
</div>
Где 5 – это тип шкалы, в нашем случае – 5-балльная.
{rating_nums} – оценка рейтинга.
{vote-num} – количество людей, оценивших материал.
3. Открыть engine/modules/show.full.php и найти:
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
Добавить ниже:
if($row["vote_num"] == 0) { // Если оценок (количество) 0
$numb_rate = 0; // Оценка
$numb_vote = 0; // Количество оценок
} else { // Если оценок (количество) больше 0
$numb_rate = 4.5; // Оценка
$numb_vote = $row["vote_num"]; // Количество оценок
}
$tpl->set("{numb_rate}", $numb_rate);
$tpl->set("{numb_vote}", $numb_vote);
4. Очистить кеш движка.
Готово!
Установка микроразметки третьего типа рейтинга полной новости:
В этом типе рейтинга мы имеем также количество оценивших материал плюс саму оценку - либо положительную, либо отрицательную, что нам не совсем подходит. Поэтому при отрицательном общем балле рейтинга мы будем переводить оценку в 1, при нуле – в 0, а при более нуля – нужный нам рейтинг, например тот же 4.5.
1. Убедится, что в Панели управления DLE > Настройка системы > вкладка Новости - установлен Тип рейтинга публикаций > Нравится и Не нравится.
2. Открыть fullstory.tpl и в самом верху добавить:
<div itemscope itemtype="http://schema.org/Product">
В самом низу добавить:
<meta itemprop="name" content="{title}" />
<div itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating">
<meta itemprop="bestRating" content="5" />
<meta itemprop="ratingValue" content="{numb_rate}">
<meta itemprop="ratingCount" content="{numb_vote}">
</div>
</div>
Где 5 – это тип шкалы, в нашем случае – 5-балльная.
{rating_nums} – оценка рейтинга.
{vote-num} – количество людей, оценивших материал.
3. Открыть engine/modules/show.full.php и найти:
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
Добавить ниже:
if($row["vote_num"] == 0) { // Если оценок (количество) 0
$numb_rate = 0; // Оценка
$numb_vote = 0; // Количество оценок
} else { // Если оценок (количество) больше 0
if($row["rating"] < 0) { // Если оценка меньше 0
$numb_rate = 1; // Оценка
} elseif($row["rating"] > 0) { // Если оценка больше 0
$numb_rate = 4.5; // Оценка
} else { // Если оценка 0
$numb_rate = 0; // Оценка
}
$numb_vote = $row["vote_num"]; // Количество оценок
}
$tpl->set("{numb_rate}", $numb_rate);
$tpl->set("{numb_vote}", $numb_vote);
4. Очистить кеш движка.
Готово!
Важно: обычно такая разметка используется для товаров и поскольку (вероятнее всего) у вас не интернет-магазин, то при проверке разметки через валидатор могут появиться ошибки. Не обращайте на них внимания, как показывает практика – рейтинг в поиске и так должен появиться.
• Автор: Артем Мáлков
• Источник
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.