Личные сообщения

Ваши переписки

Логотип сайта
главная правила форум опубликовать полезные сервисы услуги
вход или регистрация обратная связь

Мир шаблонов » Полезности, хаки DLE » Микроразметка рейтинга в DLE по schema.org
0

Микроразметка рейтинга в DLE по schema.org

Микроразметка рейтинга в DLE по schema.org

Микроразметка рейтинга для DLE по версии schema.org


Алаич уже показывал пример микроразметку для DLE. Но эта версия немного улучшена и доработана, все фишки которые описывал Саша, остались в своем девственном виде. Ну что вы готовы выделится в поисковых системах? Сразу хочется отметить что к seo это отношения не имеет, но ваш seo блог или сайт сможет выделится в поисковой выдаче.


Информация Обновлена для версии движка 10.4 - 10.5

Приступим:

открываем файл /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 = <<<HTML
<div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating}%;">{$rating}</li>
        </ul>
</div>
HTML;
        
        return $rated;
    }
    
    $rated = <<<HTML
<div id='ratig-layer-{$id}'><div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating}%;">{$rating}</li>
        <li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
        <li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
        <li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
        <li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
        <li><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
        </ul>
</div></div>
HTML;
    
    return $rated;
}

function userrating($id) {


Вносим поправки в код, начинаю с версии 10.4, в движке несколько типов рейтингов, нам нужны только звёздочки:

if( !$config['rating_type'] ) {
		if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 0 );
		else $rating = 0;
		if ($rating < 0 ) $rating = 0;
		$rating = $rating * 20;



Меняем на

if( !$config['rating_type'] ) {
		if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 0 );
		else $rating = 4;
		if ($rating < 0 ) $rating = 0;
             $AVERrating = $rating;
		$rating = $rating * 17;



Ниже находим:

<div id='ratig-layer-{$id}'><div class="rating">
		<ul class="unit-rating">
		<li class="current-rating" style="width:{$rating}%;">{$rating}</li>
		<li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
		<li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
		<li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
		<li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
		<li><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
		</ul>
</div></div>


Меняем на:

<div id='ratig-layer-{$id}'><div class="rating">
		<ul itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating" class="unit-rating">
		<li itemprop="average" class="current-rating" style="width:{$rating}px;">{$AVERrating}</li>
		<li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
		<li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
		<li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
		<li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
		<li itemprop="best"><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
		</ul>
</div></div>


Сохраняем и закидываем на хостинг с заменой.

Открываем файл /engine/modules/show.full.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}', "<span id="vote-num-id-".$row['id']."">".$row['vote_num']."</span>" );
            $tpl->set( '[rating]', "" );
            $tpl->set( '[/rating]', "" );
        } else {


Заменяем на:

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}', "<span itemprop="reviewCount" id="vote-num-id-".$row['id']."">".$row['vote_num']."</span>" );
            $tpl->set( '[rating]', "" );
            $tpl->set( '[/rating]', "" );
        } else { 


Сохраняем и закидываем на хостинг с заменой.

Открываем файл /templates/*Имя Темы*/fullstory.tpl и в самом начале файла добавляем:

<div itemscope itemtype="http://schema.org/Product">


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

<span itemprop="name">{title}</span>


В самый конец файла, добавляем:

</div>


Ну и для вывода самого рейтинга, в нужном месте вставляем:

<div itemprop="aggregateRating"
        itemscope itemtype="http://schema.org/AggregateRating">
                [rating]<div style="float:left;width:100px;">Рейтинг:</div>{rating}<div style="float:left;width:120px;">(голосов: {vote-num})</div>[/rating]
                 </div></div>


Сохраняем и закидываем на хостинг с заменой.

На выходе, мы будем иметь код, который в идеале будет выглядеть примерно так:

Микроразметка рейтинга в DLE по schema.org


Который прекрасно проходит проверку как в Яндекс Валидатор микроразметки так и в Гугл Валидатор микроразметки

На этом в принципе и все! Все визуальные оформления вывода рейтинга в вашем шаблоне, это сугубо дело каждого.
Поделиться: Понравилась новость? Расскажи друзьям. Поблагодари проект!


Уважаемый посетитель нашего сайта! Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем. Спасибо за внимание!

Тегимикроразметка, рейтинг, dle, валидатор, гугл, яндекс
Публикацию посмотрели 564 раз(а) и написали 0 комментариев.

Похожие публикации

 YouTube DLE-Rating (рейтинг новостей в DLE) 
Модуль рейтинга новостей для DLE как на когда-то был YouTube, c выводом проголосовавших пользователей. Рейтинг предназначен для работы только в полной новости....
 Цифровой цветной рейтинг новостей для DLE 10.0 
Хак поможет вам реализовать у себя на сайте красивый, цветной цифровой рейтинг на DLE 10.0....
 Шаблон СSS Template 2.0 для DLE 9.8 [Оригинал] 
Дорогие друзья. После длительного перерыва, команда Российской школы CSS и GZweb Interfaces готова представить Вам обновление шаблона CSS Template 2.0. Он позволит не только изучить современные приемы верстки страниц и разработки сайтов, но и...
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
разделы сайта

последние комментарии
поддержать проект
подписаться на новости
OpenCart
Подписаться на канал RSS Добавить сайт в закладки
популярные публикации
партнеры сайта

рекомендуем
Hosting Ukraine
© 2013-2016 mirshablonov.com