DomiTori
Постоялец
- Регистрация
 - 15 Июл 2015
 
- Сообщения
 - 92
 
- Реакции
 - 88
 
- Автор темы
 - #1
 
	Предисловие:
Решил я создать тьюб, на который буду выкладывать посерийно сериалы и фильмы, и с него брать видео на свой киносайт. Читал различные статьи о том кто как размечает видео. В основном люди код прописывают в fullstory своего шаблона, что не совсем правильно, ведь лучше когда разметка находиться в теле head. Поковырял движок, посмотрел как реализованы встроенные в DLE теги, о которых мы все знаем. Придумал как их глобально внедрить в DLE.
Это будет первая статья из серии статей, посвященных микро-разметке видео. В этой статье будем "дружить" сайт с Яндексом при помощи Open Graph. Приступим?
1. Открываем /engine/engine.php и ищем в нем код[/PHP]
		PHP:
	
	$s_meta .= "<meta property=\"og:{$key}\" content=\"{$value}\" />\n";
	
		PHP:
	
	$s_meta .= "<meta property=\"{$key}\" content=\"{$value}\" />\n";
	2. Открываем /templates/шаблон/main.tpl и ищем в нем код
		PHP:
	
	<html>
	
		PHP:
	
	<html lang="ru" prefix="og: http://ogp.me/ns#
              video: http://ogp.me/ns/video#
              ya: http://webmaster.yandex.ru/vocabularies/" >
	3. Открываем /engine/modules/show.full.php и ищем в нем код
		PHP:
	
	if ( count($images) ) $social_tags['image'] = $images[0];
	
		PHP:
	
	if ( count($images) ) $social_tags['og:image'] = $images[0];
	
		PHP:
	
	$social_tags['video'] = $media[1][0];
	
		PHP:
	
	$social_tags['og:video'] = $media[1][0];
	
		PHP:
	
	$social_tags['audio'] = $media[1];
	
		PHP:
	
	$social_tags['og:audio'] = $media[1];
	4. В этом же файле /engine/modules/show.full.php ищем код
		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;
	
		PHP:
	
	$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'] = "<iframe src='http://сайт.ру/video.php?vid=" . $xfieldsdata['revideo'] . "'></iframe>";
        $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'];
	Данное условие
		PHP:
	
	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';
	Также у меня на сайте есть следующие доп поля
poster - доп поле типа загружаемое изображение, выводит ссылку на кадр из видео.
revideo - доп поле, содержащее id видео в граббере, с помощью которого я вывожу видео-плеер
time_sec - сюда я вписываю длительность видео в секундах
Итог данных манипуляций вы можете увидеть на верхней заглавной картинке этой статьи.
Автор статьи: DomiTori.
Мой новоиспеченный блог о DLE: Для просмотра ссылки Войди
Продолжение следует. В следующих статьях "подружим" VK и Twitter с нашим сайтом.
Желающим отблагодарить "на пиво" мои кошельки вебмани:
Рубли - R417794992142
Гривни - U357368699010
$ - Z244912848144
				