video-template-3

This commit is contained in:
make
2025-05-09 19:33:40 +08:00
parent a228bb8083
commit 715466075a
138 changed files with 22125 additions and 13 deletions

View File

@@ -0,0 +1,556 @@
{extend name="base" /}
{block name="get-data"}
{video:info v_id="$Request.route.intVId" v_key="arrVideo" /}
{site:grm page_code="h5_video_info" diff="$arrVideo.v_id" num="120" g_key="arrGrm" /}
{/block}
{block name="title"}
{site:replace code="VIDEO@GETVIDEOPLAY@TITLE" diff="$Request.route.intVId" /}
{/block}
{block name="keywords"}
{site:replace code="VIDEO@GETVIDEOPLAY@KEYWORDS" diff="$Request.route.intVId"}
{/block}
{block name="description"}
{site:replace code="VIDEO@GETVIDEOPLAY@DESCRIPTION" diff="$Request.route.intVId"}
{/block}
{block name="head"}
{// Open Graph 协议用于Facebook、LinkedIn等}
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
{switch $arrVideo.v_parent_category_en }
{case 'dian-ying' }
<meta property="og:type" content="video.movie" />
{/case}
{case 'dian-shi-ju' }
<meta property="og:type" content="video.episode" />
{/case}
{case 'zong-yi' }
<meta property="og:type" content="video.tv_show" />
{/case}
{case 'dong-man' }
<meta property="og:type" content="video.episode" />
{/case}
{case 'duan-ju-da-quan' }
<meta property="og:type" content="video.episode" />
{/case}
{default /}
<meta property="og:type" content="video.movie" />
{/switch}
<meta property="og:url"
content='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'>
<meta property="og:image" content="{$arrVideo.v_pic}">
<meta property="og:site_name" content="{$DomainModel->d_name}">
<meta property="og:video:type" content="video/m3u8">
{// Twitter Card用于Twitter/X}
<meta name="twitter:card" content="player">
<meta name="twitter:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
<meta name="twitter:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
<meta name="twitter:image" content="{$arrVideo.v_pic}">
{// 结构化数据}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "{$arrVideo.v_name}",
"description": "{$arrVideo.v_description}",
"thumbnailUrl": "{$arrVideo.v_pic}",
"uploadDate": "{:date('Y-m-d')}",
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}',
"inLanguage": [
{volist name='$arrVideo.v_lang' id='strVideoLang' key='index'}
"{$strVideoLang}",
{/volist}
],
"contentLocation": [
{volist name='$arrVideo.v_area' id='strVideoArea' key='index'}
{
"@type": "Place",
"name": "{$strVideoArea}"
},
{/volist}
],
"director": [
{volist name='$arrVideo.v_director' id='strVideoDirector' key='index'}
{
"@type": "Person",
"name": "{$strVideoDirector}"
}
{/volist}
],
"actor": [
{volist name='$arrVideo.v_actor' id='strVideoActor' key='index'}
{
"@type": "Person",
"name": "{$strVideoActor}"
},
{/volist}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "{$arrVideo.v_score}",
},
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
}
}
</script>
{/block}
{block name="head-css"}
<link rel="stylesheet" href="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.24.0/DPlayer.min.css">
<style type="text/css">
</style>
{/block}
{block name='body-class'}video-play-page active{/block}
{block name="main"}
<div class="myui-player clearfix" style="background-color: #27272f;">
<div class="container">
<h1 class="view-title">
{site:replace code="VIDEO@GETVIDEOPLAY@H1"}
</h1>
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEOPLAY@TEXT"}</h4>
<nav class="breadcrumb" aria-label="breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li style="margin-right:10px"><label><i class="baf725 fa fa-map-marker"></i></label></li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="/" itemprop="item">
<span itemprop="name">首页</span>
</a>
<meta itemprop="position" content="1" />
</li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href='{site:vciurl parent_category="$arrVideo.v_parent_category_en" /}' itemprop="item">
<span itemprop="name">{$arrVideo.v_parent_category}</span>
</a>
<meta itemprop="position" content="2" />
</li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href='{site:vclurl parent_category="$arrVideo.v_parent_category_en" category="$arrVideo.v_parent_category_en" area="all" lang="all" year="all" order="all" page="1"/}'
itemprop="item">
<span itemprop="name">{$arrVideo.v_category}</span>
</a>
<meta itemprop="position" content="3" />
</li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href='{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'
itemprop="item">
<span itemprop="name">{$arrVideo.v_name}</span>
</a>
<meta itemprop="position" content="4" />
</li>
</ol>
</nav>
<div class="row">
<div class="myui-player__item clearfix" style="background-color: #1f1f1f;">
<div class="col-lg-wide-8 col-md-wide-8 clearfix padding-0 relative" id="player-left">
<div class="myui-player__box player-fixed">
<div id="tips" class="tips close-box" style="background-color:#181515;">
<a
class="tips-close-btn pull-right" onclick="closeTips()"><i
class="fa fa-close"></i>
</a>
<ul>
<li id="Marquee" style="height: 38px">
<div>正在播放:{$arrVideo.v_name}-第{$Request.route.intPlayIndex}集</div>
</li>
</ul>
</div>
<a class="player-fixed-off" href="javascript:;" style="display: none;">
<i class="fa fa-close"></i>
</a>
<div class="dplayer-prent">
<div id="dplayer" class="dplayer" muted=“muted” style="margin-top: 5px;"></div>
</div>
</div>
<ul class="myui-player__operate" style="background-color: #1b1a25;">
<li><a href="javascript:;" onclick="window.location.reload()"><i
class="fa fa-spinner"></i>刷新</a></li>
<li>
<a class="digg_link" data-mid="1" data-type="up" href="javascript:;">
<i class="fa fa-thumbs-up"></i>
<span class="digg_num">{$arrVideo.v_score}</span>
</a>
</li>
<li>
<a class="digg_link" data-mid="1" data-type="down"
href="javascript:;">
<i class="fa fa-thumbs-down"></i>
<span class="digg_num">{$arrVideo.vc_clicks ?? 0}</span>
</a>
</li>
</ul>
</div>
<div class="col-lg-wide-2 col-md-wide-2 " id="player-sidebar"
style="max-height: 549.594px; overflow: auto;">
<div class="myui-panel margin-0 clearfix">
<div class="myui-panel-box clearfix">
<div class="tips close-box"
style="background-color:#0090CE;border-radius: 5px;margin-bottom: 10px;text-shadow: #1f1f1f 2px 2px 2px;font-size:15px;">
<span class="tips-close-btn pull-right"><span
style="font-weight: bold;">播放卡顿请点下方切换线路</span>&nbsp;<i
style="font-size:20px" class="fa fa-hand-o-down"></i></span></div>
<div class="myui-panel__head active clearfix">
<h2 class="title text-fff">{$arrVideo.v_name}</h2>
</div>
<div class="text-muted">
<ul class="nav nav-tabs pull-right">
<?php $keyLineGroup = 0;?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup ++ ;?>
<li class='dropdown pb10 margin-0 {eq name="$keyLineGroup" value="1"}active {/eq}'
id="line_head_{$strPlayGroupName}"
onclick="checkLine('{$strPlayGroupName}')">
<a href='javascript:;' >
{$strPlayGroupName}
</a>
</li>
&nbsp;
{/foreach}
</ul>
换线路:
</div>
<div class="tab-content mb10">
<?php $keyLine = 0;?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLine ++ ;?>
<div id="playlist_{$strPlayGroupName}" class='tab-pane fade in clearfix {eq name="$keyLine" value="1"}active {/eq}'>
<ul class="myui-content__list playlist clearfix" id="playlist">
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<li class="col-lg-3 col-md-2 col-sm-5 col-xs-4 active">
<a class="btn btn-default btn-warm"
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$i" /}'>
{$arrPlayUrl.name}
</a>
</li>
{/volist}
</ul>
</div>
{/foreach}
</div>
</div>
</div>
</div>
</div>
<div class="myui-player__data hidden-xs clearfix">
<h3>
<a class="text-fff" href="/voddetail/71202.html">{$arrVideo.v_name}</a>
<small class="text-muted">第{$Request.route.intPlayIndex}集</small>
</h3>
<p class="text-muted margin-0">
{$arrVideo.v_publish_date}更新
/
<span class="text-red">{$arrVideo.v_score}分</span>
/
<a class="text-muted">{$arrVideo.v_parent_category}</a>
/<a class="text-muted">
{$arrVideo.v_category} /
{volist name='$arrVideo.v_area' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist} </a>
/
<a class="text-muted">{$arrVideo.v_year}</a>
</p>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="row">
<div class="col-lg-wide-75 col-xs-1 padding-0">
<div class="myui-panel myui-panel-bg clearfix" id="desc">
<div class="myui-panel-box clearfix">
<div class="myui-panel_hd">
<div class="myui-panel__head active bottom-line clearfix">
<h3 class="title"><img src="/template/videoboku/images/juqing.png">剧情简介</h3>
</div>
</div>
<div class="myui-panel_bd">
<div class="col-pd text-collapse content">
<p>
<span class="text-muted">导演:</span>
{volist name='$arrVideo.v_director' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
</p>
<p class="myui-content__tag">关键词:
</p>
<span
{$arrVideo.v_name}是一部在
{volist name='$arrVideo.v_area' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
上映的导演的日韩动漫影视作品,影片的导演是
{volist name='$arrVideo.v_director' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
{$arrVideo.v_description|raw}
想要看更多的
<a href="#" title="{$DomainModel->d_name}_{$arrVideo.v_name}" >《{$arrVideo.v_name}》</a>
相关影视作品,请关注
<a href="/" title="{$DomainModel->d_name}" >{$DomainModel->d_domain}</a>
</span>
<span class="data"
style="display: none;">
《{$arrVideo.v_name}》是一部在
{volist name='$arrVideo.v_area' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
上映的导演的日韩动漫影视作品,影片的导演是
{volist name='$arrVideo.v_director' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
{$arrVideo.v_description|raw}
想要看更多的
<a href="#" title="{$DomainModel->d_name}_{$arrVideo.v_name}" >《{$arrVideo.v_name}》</a>
相关影视作品,请关注
<a href="/" title="{$DomainModel->d_name}" >{$DomainModel->d_domain}</a>
</span>
<a
class="details text-link" href="javascript:;">
详情
<i class="fa fa-angle-down"></i>
</a>
</div>
</div>
</div>
</div>
<div class="myui-panel myui-panel-bg clearfix">
<div class="myui-panel-box clearfix">
<div class="myui-panel_bd">
<div class="myui-panel_hd">
<div id="pl" class="myui-panel__head clearfix">
<h3 class="title">影片评论</h3>
</div>
</div>
</div>
</div>
</div>
<div class="myui-panel myui-panel-bg clearfix">
<div class="myui-panel-box clearfix">
<div class="myui-panel_hd">
<div class="myui-panel__head clearfix">
<h3 class="title"><img src="/template/videoboku/images/zb.png">猜你喜欢</h3>
</div>
</div>
<div class="myui-panel_bd">
<ul class="myui-vodlist__bd clearfix">
{video:list count="12"
v_category_en="$arrVideo.v_category_en"
v_lang_en="all"
v_area_en="all"
v_year="all"
sort_type="news"
d_key="d_key" d_val="Video" cache_life="86400"}
{include file="public/video-list-shu" start="0" col-lg="6"/}
{/video:list}
</ul>
</div>
</div>
</div>
<div class="myui-panel myui-panel-bg clearfix">
<div class="myui-panel-box clearfix">
<div class="myui-panel_hd">
<div class="myui-panel__head clearfix">
<h3 class="title"><img src="/template/videoboku/images/see.png">大家正在看</h3>
</div>
</div>
<div class="myui-panel_bd">
<ul class="myui-vodlist__bd clearfix">
{video:list count="12"
v_category_en="$arrVideo.v_category_en"
v_lang_en="all"
v_area_en="all"
v_year="all"
sort_type="news"
d_key="d_key" d_val="Video" cache_life="86400"}
{include file="public/video-list-shu" start="13" col-lg="6"/}
{/video:list}
</ul>
</div>
</div>
</div>
</div>
<div class="col-lg-wide-25 col-xs-1 myui-sidebar">
<div class="visible-inline-lg">
<div class="myui-panel myui-panel-bg clearfix">
<div class="myui-panel-box clearfix">
<div class="myui-panel_hd">
<div class="myui-panel__head clearfix">
<h3 class="title">热播榜</h3>
</div>
</div>
<div class="myui-panel_bd">
<ul class="myui-vodlist__media active col-pd clearfix">
{video:ranklist count="1"
v_parent_category_en="$arrVideo.v_parent_category_en"
v_category_en="$arrVideo.v_category_en"
sort_type="total"
d_key="key" d_val="Video" cache_life="86400"}
<li>
<div class="thumb">
<a class="myui-vodlist__thumb img-xs-70"
style="background: url({$Video.v_pic});"
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
title="{$Video.v_name ?? ''} - {$Video.v_parent_category ?? ''}{$Video.v_category ?? ''}免费高清电影在线观看"
data-original="{$Video.v_pic}">
</a>
</div>
<div class="detail detail-side">
<h6 class="title">
<a href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}' >
<i class="fa fa-angle-right text-muted pull-right"></i>
{$Video.v_name}
</a>
</h6>
<p class="font-12"><span class="text-muted">类型:</span>{$Video.v_parent_category}</p>
<p class="font-12"><span class="text-muted">地区:</span>
{volist name='$Video.v_area' id='vo' key='index'}
{$vo}&nbsp;
{/volist}
</p>
<p class="font-12 margin-0"><span class="text-muted">主演:</span>
{volist name='$Video.v_actor' id='vo' key='index'}
{$vo}
&nbsp;
{/volist}
</p>
</div>
</li>
{/video:ranklist}
</ul>
<ul class="myui-vodlist__text col-pd clearfix">
{video:ranklist count="30"
v_parent_category_en="$arrVideo.v_parent_category_en"
v_category_en="$arrVideo.v_category_en"
sort_type="total"
d_key="key" d_val="Video" cache_life="86400"}
{if $key >0}
{include file="public/video-list-phb" start="25"/}
{/if}
{/video:ranklist}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function checkLine(val){
//点击 通过传递过来的 当前元素id 组建2个 id ,一个是 head id 一个是列表id
// 1.给当前元素 添加类名 activ ,其它兄弟元素 删除 activee
// 构造 ID去掉 # 前缀)
let strLineHeadId = `line_head_${val}`;
let strLineListId = `playlist_${val}`;
// 获取 DOM 元素
let headElement = document.getElementById(strLineHeadId);
let listElement = document.getElementById(strLineListId);
// 1. 处理头部导航的 active 类
let navItems = document.querySelectorAll('.nav-tabs li');
navItems.forEach(item => {
if (item.id === strLineHeadId) {
item.classList.add('active');
} else {
item.classList.remove('active');
}
});
// 2. 处理播放列表的 active 类
let tabPanes = document.querySelectorAll('.tab-content .tab-pane');
tabPanes.forEach(pane => {
if (pane.id === strLineListId) {
pane.classList.add('active');
} else {
pane.classList.remove('active');
}
});
}
</script>
<script>
const strVideoId = `{$arrVideo.v_id}`;
const arrVideo = {
'v_id': `{$arrVideo['v_id']}`,
'v_name_en': `{$arrVideo['v_name_en']}`,
'v_pic': `{$arrVideo['v_pic']}`,
'v_name': `{$arrVideo['v_name']}`,
'v_description': `{$arrVideo['v_description']}`,
'v_publish_date': `{$arrVideo['v_publish_date']}`,
'v_remarks': `{$arrVideo['v_remarks']}`,
'v_category': `{$arrVideo['v_category']}`,
'v_parent_category': `{$arrVideo['v_parent_category']}`,
'v_year': `{$arrVideo['v_year']}`,
};
var intPlayUrlIndex = '{$Request.route.intPlayIndex}'
var strPlayType = '{$Request.route.strPlayType}'
var intJumpTimeFirst = 1;
var intJumpTimeTwoStart = 1;
var intJumpTimeTwoEnd = 1;
var arrPlayUrl = {$arrVideo.v_play_url | json_encode | raw};
var strPlayUrl = ""
</script>
{/block}
{block name="customize"}
{/block}
{block name="footer-js"}
<script type="text/javascript"
src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/hls.js/1.1.5-0.canary.8257/hls.min.js" defer></script>
<script type="text/javascript" src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.26.0/DPlayer.min.js"
defer></script>
{/block}