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

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

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

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

последние комментарии
  • 112233445566 14.03.2018
    Интенсив - "Интернет-магазин ... (4)
    112233445566-фото
    ссылка выдает ошибку 404
  • seriy99 14.02.2018
    Более 200 виджетов, инструмент ... (17)
    seriy99-фото
    Цитата: varyg
    Зачем выставлять файлов, которых нет. Файла нет!

    Чего именно нет ?
  • varyg 05.02.2018
    Более 200 виджетов, инструмент ... (17)
    varyg-фото
    Зачем выставлять файлов, которых нет. Файла нет!
  • vik-vik90 28.01.2018
    Digiseller PHP 4.0 + Шаблон " ... (9)
    vik-vik90-фото
    Цитата: Awake_Desing
    Подскажите как добовлять товар есть тут панель или в ручную надо каждый товар ?

    через Digiseller
  • seriy99 12.01.2018
    Shoppica – Premium OpenCart Th ... (4)
    seriy99-фото
    Цитата: wcp
    Цитата: seriy99
    Цитата: wcp
    Случайно никто не в курсе, почему встроенный сео модуль отказывается воспринимать точку? Я хочу, чтобы у меня урл товара выглядел как "имя.html", но когда я в настройках модуля указываю "[name].html", то после генерации это выглядит как "имя-dot-html". То есть точка не воспринимается им как разделитель ((

    А Вы прогуглите и все поймете. Для нормальной SEO оптимизации сайта в особенности по урл важно тире а не точка или подчеркивание. Потом будете голову "чухать" когда дойдете к Seo оптимизации проекта.

    Реально бред сейчас написали, любезный. Причем тут подчеркивание? У меня страница с товаром имеет расширение html, в какое место тут притулить подчеркивание? Коммент уже можно мочить, собственно. Как же, так обидеть обминестратора. Погуглить я давно уже погуглил - встроенный модуль не умеет создавать расширения, это на официальном форуме сказано.

    Реальный бред. Если у Вас что не получается - в моем понимании страница у вас имеет вид товар точка название точка html. Около 100 магазинов создано... Конкретно вопрос или сайт - без проблем помогу

    Какой оф. модуль умеет может или может. Сначала - смотрим что у Вас Ocstore ? Русская сборка или еще - корни ростут от туда - а далее все элементарно. Изчально уточните задачу .... Я на этом зубы сел )))
поддержать проект
подписаться на новости
OpenCart
Подписаться на канал RSS Добавить сайт в закладки
популярные публикации
партнеры сайта

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