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

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

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

Мир шаблонов » Полезности, хаки 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, валидатор, гугл, яндекс
Публикацию посмотрели 518 раз(а) и написали 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. Он позволит не только изучить современные приемы верстки страниц и разработки сайтов, но и...
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
разделы сайта

последние комментарии
  • Стас2056 25.11.2016
    ВИДЖЕТПАК 3.0 - 150 лучших вид ... (17)
    Стас2056-фото
    Настоящий адекватный ресурс, где админы и пользователи как одна команда! [right][/right]Спасибо!
  • seriy99 25.11.2016
    Factor - Multipurpose Landing ... (2)
    seriy99-фото
    Цитата: face2005
    архив весь битый

    Ничего не может быть бито! Смотря чем вы распаковуете и учитывайте длину - для этого достаточно переименовать папку с архивом шаблона например на 1 - перед тем как распаковуете, чтоб длина символов не влияла на распаковку, так как в архиве много папок и подпапок.
  • DenJo 24.11.2016
    OpenCart шаблон "StoreFlex" (3)
    DenJo-фото
    хороший шаблон, уже успел с ним поработать. layout builder полезная штука и моим клиентам понравились clients categories.
    жду апдейта)
  • face2005 24.11.2016
    Factor - Multipurpose Landing ... (2)
    face2005-фото
    архив весь битый
  • seriy99 21.11.2016
    Megatron - Responsive MultiPur ... (2)
    seriy99-фото
    Цитата: vikula
    А почему вместо Megatron на загрузке шаблон для OpenCart aquacart202 ???

    Исправлено. Megatron v2.2 – Responsive MultiPurpose WordPress Theme
поддержать проект
подписаться на новости
OpenCart
Подписаться на канал RSS Добавить сайт в закладки
популярные публикации
партнеры сайта

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