Files
SEONexus/code/app/home/view/videoLaoNiu/video/getVideoInfo.html
2025-05-25 20:31:37 +08:00

369 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{extend name="base" /}
{block name="get-data"}
{if $Request.route.intVId}
{video:info v_id="$Request.route.intVId" v_key="arrVideo" /}
{else}
{video:info v_id="$DomainModel->info_id" n_key="arrVideo" n_forge_id="0" /}
{/if}
{site:grm page_code="h5_video_info" diff="$arrVideo.v_id" num="120" g_key="arrGrm" /}
{/block}
{block name="title"}
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
{site:replace code="VIDEO@INDEX@INDEX@TITLE"}
{else}
{site:replace code="VIDEO@GETVIDEOINFO@TITLE" diff="$Request.route.intVId" /}
{/if}
{/block}
{block name="keywords"}
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
{site:replace code="VIDEO@INDEX@INDEX@KEYWORDS"}
{else}
{site:replace code="VIDEO@GETVIDEOINFO@KEYWORDS" diff="$Request.route.intVId"}
{/if}
{/block}
{block name="description"}
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}
{else}
{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION" diff="$Request.route.intVId"}
{/if}
{/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"/}',
"genre": ["动作", "科幻"],
"keywords": '{site:replace code="VIDEO@GETVIDEOINFO@KEYWORDS"}',
"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='body-class'}video-info-page{/block}
{block name="strPageCode"}
<?php $strPageCode = 'info'; ?>
{/block}
{block name="main"}
<div class="d3dea8 container">
<div class="bcf409 layout-box top-weizhi mb-xs-10 hidden-sm hidden-xs">
<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>
</div>
<div class="a65698 container clearfix static">
<h1 class="view-title">
{site:replace code="VIDEO@GETVIDEOINFO@H1" diff="$arrVideo.v_id"}
</h1>
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEOINFO@TEXT" diff="$arrVideo.v_id"}</h4>
<div class="a31376 row static">
<div class="c47acd col-md-wide-75 pt-xs-0 pr-xs-5 clearfix main-left static">
<div class="c876e8 pannel-box p-xs-10 clearfix detail-info-box">
<div class="cab11a vod-detail-pic col-md-wide-25 col-xs-wide-35 p-xs-0">
<a class="ba572d vod-detail-thumb lazyload-bg" href='{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'
data-src="{$arrVideo.v_pic}"
style="background-image: url(&quot;{$arrVideo.v_pic}&quot;);">
<span class="b76b48 b-play"></span>
</a>
</div>
<div class="d4efa2 col-md-wide-75 col-xs-wide-65 vod-detail-info pt-xs-0 pb-xs-0">
<ul class="a85bd5 img-list clearfix">
<li class="a336bf col-xs-1">
<h2>{$arrVideo.v_name}</h2>
</li>
<li class="f84af4 col-md-1 txt-hidden one">
<span class="aa48a0 text-ccc">主演:</span>
{volist name='$arrVideo.v_actor' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
</li>
<li class="ad2714 col-xs-1">
<span class="d00822 text-ccc">导演:</span>
{volist name='$arrVideo.v_director' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
</li>
<li class="cfcbda col-xs-1 text-overflow">
<span class="d99311 text-ccc">类型:</span>
<a href='{site:vciurl parent_category="$arrVideo.v_parent_category" /}'>{$arrVideo.v_parent_category}</a>
</li>
<li class="ea7d24 col-xs-1">
<span class="ec29ec text-ccc">提醒:</span>
<span style="color: #5ab46a;">{$arrVideo.v_remarks}</span>
</li>
<li class="e6fae1 col-xs-1">
<span class="ba33b1 text-ccc">对白:</span>
{volist name='$arrVideo.v_lang' id='vo' key='index'}
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
&nbsp;
{/volist}
</li>
<li class="eaec77 col-xs-1">
<span class="bcfccd text-ccc">更新:</span>
{$arrVideo.v_publish_date}
</li>
</ul>
<div class="bf9ad1 detail-play-btn-box">
<a class="ff37cc detail-play-btn" href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
立即播放
</a>
</div>
</div>
</div>
<div class="ecd28f pannel-box clearfix">
<div class="c83885 box-title"> <span class="a9af85 title-lb"></span>
<h2>剧情介绍</h2>
</div>
<div class="e43487 col-md-1 col-sm-1 col-xs-1 detail-info">
<p class="cf2b48 txt-hidden one pointer v-description-centent">{$arrVideo.v_description|raw}</p>
<div class="eecdf1 text-center text-ccc slidedown pointer check-desc-btn" id="check-desc-btn"><span
class="fb1305 iconfont icon-down"></span>
</div>
</div>
</div>
<div class="d6c745 pannel-box clearfix">
<div class="f611b9 box-title"> <span class="d56ee0 title-lb"></span>
<h2>播放列表</h2>
</div>
<div class="b0484f details-play-title clearfix playlist-slide">
<ul class="afde5f details-play-nav clearfix">
<?php $keyLineGroup = 0;?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup ++ ;?>
<li class='ed860e play-list-toggle play-group-head {eq name="$keyLineGroup" value="1"}active {/eq}'
id="line_head_{$strPlayGroupName}" onclick="checkLine('{$strPlayGroupName}')"
>
<a class="d6ceac gico wjm3u8">{$strPlayGroupName}</a>
</li>
{/foreach}
</ul>
</div>
<div class="d0d414 details-play-list clearfix p-sm-5 p-xs-5 tab-content">
<?php $keyLineGroup = 0;?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup ++ ;?>
<ul class='a398d0 play-list fade-in clearfix play-group-list {eq name="$keyLineGroup" value="1"}active {/eq}' id="playlist_{$strPlayGroupName}">
<?php $keyLine = 1 ;?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine ++ ;?>
<li class="aa7fdb col-lg-8 col-md-6 col-sm-5 col-xs-4 p-xs-5 ewave-width-auto {if $keyLine == $Request.route.intPlayIndex}active{/if}"
style="width:auto;max-width:100%;">
<a
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'>{$arrPlayUrl.name}</a>
</li>
{/volist}
</ul>
{/foreach}
</div>
</div>
<div class="a9d500 pannel-box clearfix">
<div class="f88e08 box-title"> <span class="f79d7f title-lb"></span>
<h2>同类型</h2>
</div>
<ul class="b58cd4 img-list clearfix">
{video:list count="10"
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="3600"}
{include file="public/video-list-shu" start="0" col-md="5"/}
{/video:list}
</ul>
</div>
</div>
<div class="ef7d26 col-md-wide-25 pt-xs-0 clearfix main-right hidden-sm hidden-xs ewave-sticky"
style="top:-50px;">
<div class="c5c45c pannel-box clearfix" style="margin-top:10px;">
<div class="ac3e46 box-title "><span class="d93c76 iconfont icon-remen"></span>
<h2>热播推荐</h2>
</div>
<ul class="d1fd25 txt-list txt-list-hot p-xs-0">
{video:ranklist count="18"
v_parent_category_en="$arrVideo.v_parent_category_en"
sort_type="weekly"
d_key="key" d_val="Video" cache_life="3600"}
{include file="public/video-list-phb" start="11"/}
{/video:ranklist}
</ul>
</div>
</div>
</div>
</div>
<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_year': `{$arrVideo['v_year']}`,
};
document.addEventListener('DOMContentLoaded', function () {
const trigger = document.querySelector('.check-desc-btn');
trigger.addEventListener('click', function () {
const parent = trigger.closest('.lvshicms-vodlist__box') || trigger.parentElement;
const description = parent.querySelector('p.v-description-centent');
if (description) {
description.classList.toggle('txt-hidden');
const icon = trigger.querySelector('.iconfont');
if (icon) {
icon.classList.toggle('icon-down');
icon.classList.toggle('icon-up');
}
trigger.setAttribute('aria-expanded', !description.classList.contains('txt-hidden'));
}
});
});
</script>
{/block}
{block name="customize"} {/block}