Внедрение микро-разметки для видео в dle. часть 1 - open graph для яндекс
Предисловие:
Решил я создать тьюб, на который буду выкладывать посерийно сериалы и фильмы, и с него брать видео на свой киносайт. Читал различные статьи о том кто как размечает видео. В основном люди код прописывают в fullstory своего шаблона, что не совсем правильно, ведь лучше когда разметка находиться в теле head. Поковырял движок, посмотрел как реализованы встроенные в DLE теги, о которых мы все знаем. Придумал как их глобально внедрить в DLE.
Это будет первая статья из серии статей, посвященных микро-разметке видео. В этой статье будем "дружить" сайт с Яндексом при помощи Open Graph. Приступим?
1. Открываем /engine/engine.php и ищем в нем код[/code]
меняем его на код
Сохраняем файл.
2. Открываем /templates/шаблон/main.tpl и ищем в нем код
3. Открываем /engine/modules/show.full.php и ищем в нем код
меняем на
ищем код
меняем на
ищем код
меняем на
4. В этом же файле /engine/modules/show.full.php ищем код
меняем его на код
4. Пояснение что к чему
Данное условие
проверяет к какой категории принадлежит новость, у меня категории с id 5 и 6 это фильмы, с 1 по 4 сериалы и 6 - трейлеры. Соответственно фильмам присваиваем тип video.movie, сериалам video.episode, прочим видео video.other.
Также у меня на сайте есть следующие доп поля
poster - доп поле типа загружаемое изображение, выводит ссылку на кадр из видео.
revideo - доп поле, содержащее id видео в граббере, с помощью которого я вывожу видео-плеер
time_sec - сюда я вписываю длительность видео в секундах
Итог данных манипуляций вы можете увидеть на верхней заглавной картинке этой статьи.
Автор статьи: DomiTori.
Мой новоиспеченный блог о DLE: Dle.Press (дорабатываю)
Продолжение следует. В следующих статьях "подружим" VK и Twitter с нашим сайтом.
Решил я создать тьюб, на который буду выкладывать посерийно сериалы и фильмы, и с него брать видео на свой киносайт. Читал различные статьи о том кто как размечает видео. В основном люди код прописывают в fullstory своего шаблона, что не совсем правильно, ведь лучше когда разметка находиться в теле head. Поковырял движок, посмотрел как реализованы встроенные в DLE теги, о которых мы все знаем. Придумал как их глобально внедрить в DLE.
Это будет первая статья из серии статей, посвященных микро-разметке видео. В этой статье будем "дружить" сайт с Яндексом при помощи Open Graph. Приступим?
1. Открываем /engine/engine.php и ищем в нем код[/code]
$s_meta .= "\n";
меняем его на код
$s_meta .= "\n";
Сохраняем файл.
2. Открываем /templates/шаблон/main.tpl и ищем в нем код
[/code]
меняем на
[code]
3. Открываем /engine/modules/show.full.php и ищем в нем код
if ( count($images) ) $social_tags['image'] = $images[0];
меняем на
if ( count($images) ) $social_tags['og:image'] = $images[0];
ищем код
$social_tags['video'] = $media[1][0];
меняем на
$social_tags['og:video'] = $media[1][0];
ищем код
$social_tags['audio'] = $media[1];
меняем на
$social_tags['og:audio'] = $media[1];
4. В этом же файле /engine/modules/show.full.php ищем код
$social_tags['site_name'] = $config['home_title'];
$social_tags['type'] = 'article';
$social_tags['title'] = htmlspecialchars( $row['title'], ENT_QUOTES, $config['charset'] );
$social_tags['url'] = $full_link;
меняем его на код
$social_tags['og:site_name'] = $config['home_title'];
$social_tags['og:title'] = htmlspecialchars( $row['title'], ENT_QUOTES, $config['charset'] );
$social_tags['og:description'] = $row['descr'];
if ($category_id == 5 OR $category_id == 6) $social_tags['og:type'] = 'video.movie';
elseif ($category_id == 1 OR $category_id == 2 OR $category_id == 3 OR $category_id == 4) $social_tags['og:type'] = 'video.episode';
else $social_tags['og:type'] = 'video.other';
$xfieldsdata = xfieldsdataload( $row['xfields'] );
$social_tags['og:image'] = "http://сайт.ру/uploads/posts/" . $xfieldsdata['poster'];
$social_tags['og:url'] = $full_link;
$social_tags['og:video'] = "http://сайт.ру/video.php?vid=" . $xfieldsdata['revideo'];
$social_tags['video:duration'] = $xfieldsdata['time_sec'];
$social_tags['og:video:type'] = "application/x-shockwave-flash";
$social_tags['og:video:width'] = "1024";
$social_tags['og:video:height'] = "768";
$social_tags['ya:ovs:upload_date'] = date( 'Y-m-d', $row['date'] ) . "T" . date( 'H:i:s', $row['date'] );
$social_tags['ya:ovs:adult'] = "false";
$social_tags['ya:ovs:content_id'] = $xfieldsdata['revideo'];
$social_tags['ya:ovs:status'] = "published";
$social_tags['ya:ovs:login'] = $row['autor'];
$social_tags['ya:ovs:is_official'] = "no";
$social_tags['ya:ovs:available_platform'] = "Desktop";
$social_tags['ya:ovs:available_platform'] = "Mobile";
$social_tags['ya:ovs:allow_embed'] = "true";
$social_tags['ya:ovs:embed_html'] = "";
$social_tags['ya:ovs:category'] = $cat_info[$category_id]['name'];
$social_tags['ya:ovs:languages'] = "ru";
$social_tags['ya:ovs:feed_url'] = $full_link;
$social_tags['ya:ovs:views_total'] = number_format($row['news_read'], 0, ',', ' ');
$social_tags['ya:ovs:comments'] = number_format($row['comm_num'], 0, ',', ' ');
$social_tags['ya:ovs:likes'] = $row['vote_num'];
$social_tags['ya:ovs:rating'] = $row['rating'];
$social_tags['ya:ovs:poster'] = "http://сайт.ру/uploads/posts/" . $xfieldsdata['poster'];
4. Пояснение что к чему
Данное условие
if ($category_id == 5 OR $category_id == 6) $social_tags['og:type'] = 'video.movie';
elseif ($category_id == 1 OR $category_id == 2 OR $category_id == 3 OR $category_id == 4) $social_tags['og:type'] = 'video.episode';
else $social_tags['og:type'] = 'video.other';
проверяет к какой категории принадлежит новость, у меня категории с id 5 и 6 это фильмы, с 1 по 4 сериалы и 6 - трейлеры. Соответственно фильмам присваиваем тип video.movie, сериалам video.episode, прочим видео video.other.
Также у меня на сайте есть следующие доп поля
poster - доп поле типа загружаемое изображение, выводит ссылку на кадр из видео.
revideo - доп поле, содержащее id видео в граббере, с помощью которого я вывожу видео-плеер
time_sec - сюда я вписываю длительность видео в секундах
Итог данных манипуляций вы можете увидеть на верхней заглавной картинке этой статьи.
Автор статьи: DomiTori.
Мой новоиспеченный блог о DLE: Dle.Press (дорабатываю)
Продолжение следует. В следующих статьях "подружим" VK и Twitter с нашим сайтом.
Желающим отблагодарить "на пиво" мои кошельки вебмани:
Рубли - R417794992142
Гривни - U357368699010
$ - Z244912848144
Рубли - R417794992142
Гривни - U357368699010
$ - Z244912848144