debug
This commit is contained in:
@@ -447,9 +447,9 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
|
||||
break;
|
||||
|
||||
case 'video_rank_index':
|
||||
$strView = 'pc/getRank.html';
|
||||
$strView = 'pc/getRankIndex.html';
|
||||
if ($platform == 'h5') {
|
||||
$strView = 'video/getRank.html';
|
||||
$strView = 'video/getRankIndex.html';
|
||||
}
|
||||
//视频排行榜 首页
|
||||
Route::get($strRoute, function () use ($strView) {
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body class="{block name='body-class'}{/block}" id="{block name='body-id'}{/block}">
|
||||
<header class="stui-header__top clearfix top-fixed headroom--top headroom--not-bottom" id="header-top">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
@@ -114,14 +114,14 @@
|
||||
|
||||
{include file="public/footer" /}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
{block name="customize"}{/block}
|
||||
|
||||
|
||||
<script>
|
||||
const strPushApi = `{site:cfg code="PUSH_API_DOMAIN" encode="false"/}`;
|
||||
</script>
|
||||
<script src="/public/jquery/jquery-3.7.1.min.js" type="module" charset="utf-8"></script>
|
||||
{block name="footer-js"}{/block}
|
||||
<script type="text/javascript"
|
||||
src='/public/video/common.js?v={site:cfg code="STATIC_FILE_VERSION" encode="false"/}'></script>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
"description": "{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}",
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
{volist name="arrVideoTuijian" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "ListItem{$Video.v_id}",
|
||||
"@type": "ListItem",
|
||||
"position": {$key},
|
||||
"item": {
|
||||
"@type": "TVSeries",
|
||||
|
||||
@@ -43,15 +43,15 @@
|
||||
<i class="icon iconfont icon-less"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="hidden-xs">
|
||||
<!-- <li class="hidden-xs">
|
||||
<a style="color: rgb(155, 154, 207);" class="copylink" href="javascript:;">
|
||||
<i class="icon iconfont icon-share"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="visible-xs">
|
||||
</li> -->
|
||||
<!-- <li class="visible-xs">
|
||||
<a style="color: rgb(124, 1, 82);" class="open-share" href="javascript:;">
|
||||
<i class="icon iconfont icon-share"></i>
|
||||
</a>
|
||||
</li>
|
||||
</li> -->
|
||||
|
||||
</ul>
|
||||
@@ -14,38 +14,94 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
|
||||
{site:grm page_code="h5_category_list_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
{site:helper func="initVideoCategoryTKD" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETCATEGORY@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETCATEGORY@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETCATEGORY@DESCRIPTION"}{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
|
||||
{// 社交媒体标签}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETCATEGORY@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETCATEGORY@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
{switch $Request.route.strParentCategory }
|
||||
{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}
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 结构化数据}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETCATEGORY@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETCATEGORY@DESCRIPTION"}',
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
}
|
||||
[
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 最新{site:getval code="strVideoParentCategoryName" /}推荐",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"description": "{site:replace code="VIDEO@GETCATEGORYINDEX@DESCRIPTION"}",
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
"hasPart": [
|
||||
{volist name="resData.data" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
{/volist}
|
||||
]
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "首页",
|
||||
"item": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "分类首页",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vciurl prent_category="$Request.route.strParentCategory" /}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "分类列表",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vclurl prent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
|
||||
@@ -56,14 +112,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
|
||||
|
||||
<div class="container">
|
||||
<!-- <p>route: /vodtype-:strCategory/:strParentCategory-:strArea-:strLang-:strYear-:strOrder-page:intPage </p>
|
||||
<p>strParentCategory :{$Request.route.strParentCategory}</p>
|
||||
<p>strCategory :{$Request.route.strCategory}</p>
|
||||
<p>strLang :{$Request.route.strLang}</p>
|
||||
<p>strArea :{$Request.route.strArea}</p>
|
||||
<p>strYear :{$Request.route.strYear}</p>
|
||||
<p>strOrder :{$Request.route.strOrder}</p>
|
||||
<p>intPage :{$Request.route.intPage}</p> -->
|
||||
|
||||
<h1 class="view-title">
|
||||
|
||||
{site:replace code="VIDEO@GETCATEGORY@H1"}
|
||||
@@ -77,8 +126,18 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoClassName" /}筛选</h3>
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoParentCategoryName" /}筛选</h3>
|
||||
</div>
|
||||
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
|
||||
|
||||
<li><span class="text-muted">按分类</span></li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li
|
||||
class="{if $Request.route.strParentCategory == $val.v_category_en}active{/if}">
|
||||
<a href='{site:vclurl prent_category="$val.v_category_en" category="all" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}' class="text-muted">{$val.v_category}</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
</ul>
|
||||
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
|
||||
|
||||
<li><span class="text-muted">按类型</span></li>
|
||||
@@ -146,7 +205,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
{include file="public/video-list-shu" /}
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -179,21 +238,19 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
{/switch}
|
||||
{/volist}
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-lg-wide-25 col-xs-1 stui-pannel-side hidden-sm hidden-xs padding-0">
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">电影周榜单</h3>
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">{site:getval code="strVideoParentCategoryName" /}周榜单</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="10" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{video:ranklist count="20" v_parent_category_en="$Request.route.strParentCategory" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="31"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
@@ -204,13 +261,13 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<div class="stui-pannel-box">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">电影月榜单</h3>
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">{site:getval code="strVideoParentCategoryName" /}月榜单</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="10" sort_type="monthly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{video:ranklist count="20" v_parent_category_en="$Request.route.strParentCategory" sort_type="monthly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="51"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
{site:grm page_code="h5_category_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
{site:helper func="initVideoCategoryTypeTKD" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETCATEGORYINDEX@TITLE"}{/block}
|
||||
@@ -15,7 +17,25 @@
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETCATEGORYINDEX@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETCATEGORYINDEX@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
{switch $Request.route.strParentCategory }
|
||||
{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}
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
@@ -24,7 +44,7 @@
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 最新电影推荐",
|
||||
"name": "{$DomainModel->d_name} - 最新{site:getval code="strVideoParentCategoryName" /}推荐",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"description": "{site:replace code="VIDEO@GETCATEGORYINDEX@DESCRIPTION"}",
|
||||
"potentialAction": {
|
||||
@@ -43,8 +63,9 @@
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
{/video:ranklist}
|
||||
@@ -69,13 +90,9 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
]
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-css"}{/block}
|
||||
@@ -93,80 +110,111 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
|
||||
{if $val.v_category_en == $Request.route.strParentCategory}
|
||||
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<a class="more text-muted pull-right"
|
||||
href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1"/}'>
|
||||
更多
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
</a>
|
||||
<h3 class="title">
|
||||
<img src="/template/videodadi/icon/icon_27.png"><a
|
||||
style="color: rgb(52, 99, 240);" href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1"/}'>
|
||||
{site:getval code="strYear" /}最新{$arrChildrenCategory.v_category}推荐 - {$DomainModel->d_name}
|
||||
</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{video:list count="2"
|
||||
v_category_en="$arrChildrenCategory.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"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="2"
|
||||
v_category_en="$arrChildrenCategory.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-text2" start="0"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-wide-25 hidden-md hidden-sm hidden-xs">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png"><a
|
||||
style="color: rgb(57, 129, 89);" href="">{$arrChildrenCategory.v_category}周榜单</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="2"
|
||||
v_category_en="$arrChildrenCategory.v_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="0"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
{if $val.v_category_en == $Request.route.strParentCategory}
|
||||
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<a class="more text-muted pull-right"
|
||||
href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1"/}'>
|
||||
更多
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
</a>
|
||||
<h3 class="title">
|
||||
<img src="/template/videodadi/icon/icon_27.png"><a style="color: rgb(52, 99, 240);"
|
||||
href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1"/}'>
|
||||
{site:getval code="strYear" /}最新{$arrChildrenCategory.v_category}推荐 -
|
||||
{$DomainModel->d_name}
|
||||
</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{video:list count="12"
|
||||
v_category_en="$arrChildrenCategory.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"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="12"
|
||||
v_category_en="$arrChildrenCategory.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-text2" start="13"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-wide-25 hidden-md hidden-sm hidden-xs">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png"><a
|
||||
style="color: rgb(57, 129, 89);"
|
||||
href='{site:vrlurl parent_category="$val.v_category_en" category="$arrChildrenCategory.v_category_en" sort_type="weekly" page="1"/}'>{$arrChildrenCategory.v_category}周榜单</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="18"
|
||||
v_category_en="$arrChildrenCategory.v_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="27"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{/video:categorytype}
|
||||
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
|
||||
{video:ranksort d_key="key" d_val="val"}
|
||||
|
||||
<div class="col-lg-4 col-md-3 col-sm-2 col-xs-1">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">{site:getval code="strVideoParentCategoryName" /}{$val}排行榜</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="18"
|
||||
v_parent_category_en="$Request.route.strParentCategory"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="50" /}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/video:ranksort}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
|
||||
@@ -2,50 +2,85 @@
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:pagerexp page="1" limit="30"
|
||||
v_class="$Request.route.strClass"
|
||||
d_key="d_key"
|
||||
d_val="Video"
|
||||
p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" export_name="resData" /}
|
||||
|
||||
{site:grm page_code="h5_rank_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANK@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANK@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}{/block}
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANKINDEX@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANKINDEX@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANKINDEX@DESCRIPTION"}{/block}
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANK@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 社交媒体标签}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANKINDEX@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANKINDEX@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="video.movie" />
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANK@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}',
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
}
|
||||
[
|
||||
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 最新排行榜推荐",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANKINDEX@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANKINDEX@DESCRIPTION"}',
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
"hasPart": [
|
||||
{video:ranklist count="5"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
{/video:ranklist}
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "首页",
|
||||
"item": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "排行榜首页",
|
||||
"item": "https://{$DomainModel->d_domain}{$strRankUrlTemp}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head-css"}
|
||||
<link rel="canonical" href="https://{$Request.route.strSiteDomain}/rank/{$Request.route.strVideoClassName}/{$Request.route.strOrderName}">
|
||||
<link rel="canonical" href="https://{$Request.route.strSiteDomain}/rank/{$Request.route.strVideoParentCategoryName}/{$Request.route.strOrderName}">
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}
|
||||
@@ -56,9 +91,9 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<div class="container">
|
||||
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEORANK@H1"}
|
||||
{site:replace code="VIDEO@GETVIDEORANKINDEX@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANK@TEXT"}</h4>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANKINDEX@TEXT"}</h4>
|
||||
|
||||
|
||||
<div class="row">
|
||||
@@ -107,7 +142,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
{video:ranklist count="20"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0" /}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -115,7 +150,6 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
|
||||
{/video:ranksort}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,50 +2,88 @@
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:pagerexp page="1" limit="30"
|
||||
v_class="$Request.route.strClass"
|
||||
d_key="d_key"
|
||||
{video:ranklistexp page="1" limit="30"
|
||||
v_parent_category_en="$Request.route.strParentCategory"
|
||||
v_category_en="$Request.route.strCategory"
|
||||
sort_type="$Request.route.strSortType"
|
||||
d_key="key"
|
||||
d_val="Video"
|
||||
p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" export_name="resData" /}
|
||||
|
||||
p_val="page_data" button_num="10" cache_life="86400" export_name="arrVideoRankList" /}
|
||||
|
||||
{site:grm page_code="h5_rank_list_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
{site:helper func="initVideoRankListTKD" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANK@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANK@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANKLIST@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANKLIST@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANKLIST@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANK@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}' />
|
||||
|
||||
{// 社交媒体标签}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANKLIST@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANKLIST@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:type" content="video.movie" />
|
||||
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANK@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}',
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
}
|
||||
[
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 最新排行榜推荐",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANKLIST@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANKLIST@DESCRIPTION"}',
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
"hasPart": [
|
||||
{volist name="arrVideoRankList" id="Video" key="key"}
|
||||
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
{/volist}
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "首页",
|
||||
"item": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "排行榜首页",
|
||||
"item": "https://{$DomainModel->d_domain}{$strRankUrlTemp}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-css"}
|
||||
<link rel="canonical" href="https://{$Request.route.strSiteDomain}/rank/{$Request.route.strVideoClassName}/{$Request.route.strOrderName}">
|
||||
{/block}
|
||||
{block name="head-js"}
|
||||
|
||||
@@ -54,9 +92,9 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEORANK@H1"}
|
||||
{site:replace code="VIDEO@GETVIDEORANKLIST@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANK@TEXT"}</h4>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANKLIST@TEXT"}</h4>
|
||||
<div class="row">
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
@@ -64,7 +102,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoClassName" /}筛选</h3>
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoParentCategoryName" /}筛选</h3>
|
||||
</div>
|
||||
|
||||
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
|
||||
@@ -73,12 +111,12 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<li
|
||||
class='{if empty( $Request.route.strParentCategory) || $Request.route.strParentCategory == "" || $Request.route.strParentCategory == "all"}active{/if}'>
|
||||
<a
|
||||
href='{site:vrlurl parent_category="all" category="all" sort_type="Request.route.strSortType" page="1"/}'>全部</a>
|
||||
href='{site:vrlurl parent_category="all" category="all" sort_type="$Request.route.strSortType" page="1"/}'>全部</a>
|
||||
</li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li class="{if $Request.route.strParentCategory == $val.v_category_en}active{/if}">
|
||||
|
||||
<a href='{site:vrlurl parent_category="$val.v_category_en" category="all" sort_type="Request.route.strSortType" page="1"/}'
|
||||
<a href='{site:vrlurl parent_category="$val.v_category_en" category="all" sort_type="$Request.route.strSortType" page="1"/}'
|
||||
class="text-muted">{$val.v_category}</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
@@ -89,14 +127,14 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<li><span class="text-muted">按类型</span></li>
|
||||
<li
|
||||
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == "" || $Request.route.strCategory == "all"}active{/if}'>
|
||||
<a href='{site:vrlurl parent_category="all" category="all" sort_type="Request.route.strSortType" page="1"/}'>全部</a>
|
||||
<a href='{site:vrlurl parent_category="all" category="all" sort_type="$Request.route.strSortType" page="1"/}'>全部</a>
|
||||
</li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
{if $val.v_category_en == $Request.route.strParentCategory}
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
<li
|
||||
class="{if $Request.route.strCategory == $arrChildrenCategory.v_category_en}active{/if}">
|
||||
<a href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" sort_type="Request.route.strSortType" page="1"/}' class="text-muted">{$arrChildrenCategory.v_category}</a>
|
||||
<a href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" sort_type="$Request.route.strSortType" page="1"/}' class="text-muted">{$arrChildrenCategory.v_category}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if}
|
||||
@@ -126,8 +164,8 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
{include file="public/video-list-shu" /}
|
||||
{foreach $arrVideoRankList as $key=>$Video}
|
||||
{include file="public/video-list-shu" start="0" /}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -150,7 +188,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
v_parent_category_en="dian-ying"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0" /}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
@@ -170,7 +208,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
v_parent_category_en="dian-shi-ju"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0" /}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -15,30 +15,74 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
{block name="description"}{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<meta property="og:title" content="动作电影 - 第1页 - 大地影视搜索">
|
||||
<meta property="og:description" content="大地影视搜索动作电影 第1页,最新视频免费观看,免费视频,热门影视,视频网站,访问video1.com发现更多!">
|
||||
<meta property="og:image" content="https://video1.com/img/search.webp">
|
||||
<meta property="og:url" content="https://video1.com/search?q=动作电影&page=1">
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETSEARCHVIDEO@TITLE"}'>
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}'>
|
||||
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}'>
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="大地影视">
|
||||
<meta property="og:site_name" content='{$DomainModel->d_name}'>
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="动作电影 第1页 - 大地影视">
|
||||
<meta name="twitter:description" content="搜索动作电影 第1页,大地影视提供最新视频,免费视频,热门影视,视频网站,立即访问video1.com!">
|
||||
<meta name="twitter:image" content="https://video1.com/img/search.webp">
|
||||
<meta name="twitter:title" content='{site:replace code="VIDEO@GETSEARCHVIDEO@TITLE"}'>
|
||||
<meta name="twitter:description" content='{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}'>
|
||||
<meta name="twitter:image:alt" content="动作电影 搜索结果第1页">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 结构化数据}
|
||||
<script type="application/ld+json">
|
||||
[
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "SearchResultsPage",
|
||||
"name": "{strSearchKeywords} 第{intPage}页",
|
||||
"url": "https://{strSiteDomain}/search?q={strSearchKeywords}&page={intPage}",
|
||||
"description": "{strSiteName}搜索{strSearchKeywords} 第{intPage}页,最新视频免费观看"
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"alternateName": "{$DomainModel->d_domain}",
|
||||
"description": "{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}",
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - {$DomainModel->d_logo_text}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"alternateName": "{$DomainModel->d_domain}",
|
||||
"description": '{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}',
|
||||
"mainEntity": {
|
||||
"@type": "ItemList",
|
||||
"itemListElement": [
|
||||
{volist name="resData.data" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": {$key},
|
||||
"item": {
|
||||
"@type": "Movies",
|
||||
"name": "{$Video.v_name}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
"description": "{$Video.v_description}",
|
||||
"actor": [
|
||||
{foreach $Video.v_actor as $strActorKey=>$strActor }
|
||||
{if $strActorKey < 5 }
|
||||
{ "@type": "Person", "name": "{$strActor}" },
|
||||
{/if}
|
||||
{/foreach}
|
||||
],
|
||||
"numberOfEpisodes": {$Video.v_play_url|count},
|
||||
"image": "{$Video.v_pic}",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "{$Video.v_score}",
|
||||
}
|
||||
}
|
||||
},
|
||||
{/if}
|
||||
{/volist}
|
||||
]
|
||||
}
|
||||
}
|
||||
</script>
|
||||
]
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -72,6 +116,9 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
<li class="active clearfix">
|
||||
{if !empty($arrGrm[$key])}
|
||||
{$arrGrm[$key]|raw}
|
||||
{/if}
|
||||
<div class="thumb"><a
|
||||
|
||||
class="v-thumb stui-vodlist__thumb lazyload-bg"
|
||||
@@ -166,7 +213,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
v_parent_category_en="dian-ying"
|
||||
sort_type="total"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="11"/}
|
||||
{/video:ranklist}
|
||||
|
||||
|
||||
@@ -187,7 +234,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
v_parent_category_en="dian-shi-ju"
|
||||
sort_type="total"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="31"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
{block name="get-data"}
|
||||
|
||||
{if $Request.route.intVId}
|
||||
{video:info v_id="$Request.route.intVId" v_key="arrVideo" /}
|
||||
{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" /}
|
||||
{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" /}
|
||||
|
||||
@@ -38,36 +38,93 @@
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 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": "{strVideoName}",
|
||||
"description": "{strVideoDescription}",
|
||||
"director": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoDirector}"
|
||||
},
|
||||
"actor": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoActor}"
|
||||
},
|
||||
"thumbnailUrl": "",
|
||||
"url": "",
|
||||
"inLanguage": "{strLangName}",
|
||||
"contentLocation": {
|
||||
"@type": "Place",
|
||||
"name": "{strAreaName}"
|
||||
}
|
||||
{
|
||||
"@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>
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -75,9 +132,9 @@
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@H1"}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@H1" diff="$arrVideo.v_id"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEOINFO@TEXT"}</h4>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEOINFO@TEXT" diff="$arrVideo.v_id"}</h4>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
@@ -88,9 +145,11 @@
|
||||
当前位置
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
</span>
|
||||
<a style="color: rgb(178, 251, 104)" href="/">首页</a>
|
||||
<a class="nav-item-a" href="/">首页</a>
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
<a style="color: rgb(226, 55, 35)" href="">{$arrVideo.v_category}</a>
|
||||
<a class="nav-item-a" href='{site:vciurl prent_category="$arrVideo.v_parent_category_en" /}'>{$arrVideo.v_parent_category}</a>
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
<a class="nav-item-a" href='{site:vclurl prent_category="$arrVideo.v_parent_category_en" category="$arrVideo.v_category_en" area="all" lang="all" year="all" order="all" page="1"}'>{$arrVideo.v_category}</a>
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
<span class="text-muted">{$arrVideo.v_name}</span>
|
||||
</div>
|
||||
@@ -106,16 +165,16 @@
|
||||
|
||||
|
||||
<div class="stui-content__detail">
|
||||
<h1 class="title">
|
||||
<h2 class="title">
|
||||
《{$arrVideo.v_name}》<span class="score text-red">{$arrVideo.v_score}</span>
|
||||
</h1>
|
||||
</h2>
|
||||
<p class="data">
|
||||
<span class="text-muted">类型:</span>
|
||||
<a href='{site:vsurl key="$arrVideo.v_category" p="1"/}'>{$arrVideo.v_category}</a>
|
||||
|
||||
<span class="split-line"></span>
|
||||
<span class="text-muted hidden-xs">地区:</span>
|
||||
{volist name='$arrVideo.v_actor' id='vo' key='index'}
|
||||
{volist name='$arrVideo.v_area' id='vo' key='index'}
|
||||
<a style="color: rgb(240, 3, 132)" href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist}
|
||||
@@ -143,9 +202,8 @@
|
||||
<span class="text-muted">更新:</span>{$arrVideo.v_publish_date}
|
||||
</p>
|
||||
<p class="desc hidden-xs">
|
||||
<span class="left text-muted">简介:</span>
|
||||
{$arrVideo.v_description|raw}
|
||||
<a>
|
||||
<span class="left text-muted">简介:{$arrVideo.v_description|raw}</span>
|
||||
<a href="#desc">
|
||||
详情
|
||||
<i class="icon iconfont icon-moreunfold"></i>
|
||||
</a>
|
||||
@@ -249,7 +307,7 @@
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-text2" start="0"/}
|
||||
{include file="public/video-list-text2" start="13"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
@@ -269,11 +327,11 @@
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="12"
|
||||
{video:ranklist count="18"
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="0"/}
|
||||
{include file="public/video-list-phb" start="25"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -290,11 +348,11 @@
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="12"
|
||||
{video:ranklist count="18"
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="monthly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="0"/}
|
||||
{include file="public/video-list-phb" start="45"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -1,122 +1,125 @@
|
||||
{extend name="base" /}
|
||||
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{if $Request.route.intVId}
|
||||
{video:info v_id="$Request.route.intVId" n_key="arrVideo" n_forge_id="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{video:info v_id="$DomainModel->info_id" n_key="arrVideo" n_forge_id="0" /}
|
||||
{/if}
|
||||
{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"}
|
||||
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@TITLE" diff="$Request.route.intVId" /}
|
||||
{/if}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@TITLE" diff="$Request.route.intVId" /}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@KEYWORDS" diff="$Request.route.intVId"}
|
||||
{/if}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@KEYWORDS" diff="$Request.route.intVId"}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION" diff="$Request.route.intVId"}
|
||||
{/if}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@DESCRIPTION" diff="$Request.route.intVId"}
|
||||
{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOPLAY@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOPLAY@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 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": "{strVideoName}",
|
||||
"description": "{strVideoDescription}",
|
||||
"director": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoDirector}"
|
||||
},
|
||||
"actor": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoActor}"
|
||||
},
|
||||
"thumbnailUrl": "https://{strSiteDomain}/img/video/{strYear}/{strVideoName}.webp",
|
||||
"url": "https://{strSiteDomain}/voddetail/{strVideoName}",
|
||||
"inLanguage": "{strLangName}",
|
||||
"contentLocation": {
|
||||
"@type": "Place",
|
||||
"name": "{strAreaName}"
|
||||
}
|
||||
{
|
||||
"@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>
|
||||
|
||||
}
|
||||
|
||||
</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">
|
||||
.stui-player__head {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dplayer-video-wrap {
|
||||
max-height: 480px;
|
||||
}
|
||||
|
||||
video {
|
||||
max-height: 480px;
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
body {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.stui-header__top {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stui-player__head {
|
||||
display: block;
|
||||
padding: 15px;
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.stui-player__head a {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head-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}
|
||||
|
||||
{block name='body-class'}video-play-page{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
|
||||
@@ -268,7 +271,7 @@
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" /}
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
@@ -280,7 +283,7 @@
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-text2" /}
|
||||
{include file="public/video-list-text2" start="0" /}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -303,7 +306,7 @@
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -323,7 +326,7 @@
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="monthly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -346,20 +349,6 @@
|
||||
'v_category': `{$arrVideo['v_category']}`,
|
||||
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
<script>
|
||||
function findFirstUrl(obj) {
|
||||
for (const key in obj) {
|
||||
const data = obj[key];
|
||||
if (Array.isArray(data) && data.length > 0 && data[0].url) {
|
||||
return data[0].url;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
var intPlayUrlIndex = '{$Request.route.intPlayIndex}'
|
||||
var strPlayType = '{$Request.route.strPlayType}'
|
||||
var intJumpTimeFirst = 1;
|
||||
@@ -367,83 +356,20 @@
|
||||
var intJumpTimeTwoEnd = 1;
|
||||
var arrPlayUrl = {$arrVideo.v_play_url|json_encode|raw} ;
|
||||
var strPlayUrl = ""
|
||||
|
||||
if (strPlayType == 'default') {
|
||||
strPlayUrl = findFirstUrl(arrPlayUrl)
|
||||
} else {
|
||||
var ActivePlayUrl = arrPlayUrl[strPlayType][intPlayUrlIndex - 1]
|
||||
strPlayUrl = ActivePlayUrl.url
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
initDPlayer(strPlayUrl)
|
||||
function initDPlayer(strPlayUrl) {
|
||||
let DomDPlayer = document.getElementById('dplayer')
|
||||
videoPlayer = new DPlayer({
|
||||
container: DomDPlayer,
|
||||
autoplay: true,
|
||||
screenshot: false,
|
||||
//logo: dplayerLogo,
|
||||
video: {
|
||||
url: strPlayUrl,
|
||||
type: 'hls',
|
||||
},
|
||||
pluginOptions: {
|
||||
hls: {
|
||||
maxBufferLength: 600,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
videoPlayer.play()
|
||||
|
||||
// 监听全屏进入事件
|
||||
videoPlayer.on('fullscreen', function () {
|
||||
DomDPlayer.classList.add("dp-fullscreen");
|
||||
// 设置视频元素的样式,取消 max-height
|
||||
document.querySelector("video").style.maxHeight = "none";
|
||||
});
|
||||
|
||||
// 监听全屏退出事件
|
||||
videoPlayer.on('fullscreen_cancel', function () {
|
||||
DomDPlayer.classList.remove("dp-fullscreen");
|
||||
// 恢复 max-height 为 480px
|
||||
document.querySelector("video").style.maxHeight = "480px";
|
||||
});
|
||||
|
||||
videoPlayer.on('error', function () {
|
||||
|
||||
});
|
||||
videoPlayer.on('play', function () {
|
||||
console.log('play')
|
||||
// 确保视频准备好后再进行跳转
|
||||
// setTimeout(() => {
|
||||
// if (videoPlayer.video.readyState >= 2) {
|
||||
// // readyState >= 2 表示元数据已加载
|
||||
// videoPlayer.seek(20); // 跳转到 20 分钟
|
||||
// }
|
||||
// }, 1000); // 等待一会儿确保视频已开始
|
||||
});
|
||||
// 监听当前播放时间
|
||||
videoPlayer.on('timeupdate', function () {
|
||||
if (videoPlayer.video.currentTime < intJumpTimeFirst) { // 当前时间小于 20 秒
|
||||
videoPlayer.seek(intJumpTimeFirst); // 跳过到 20 秒
|
||||
}
|
||||
if (videoPlayer.video.currentTime >= intJumpTimeTwoStart && videoPlayer.video.currentTime < intJumpTimeTwoEnd) { // 当前时间小于 20 秒
|
||||
videoPlayer.seek(intJumpTimeTwoEnd + 1); // 跳过到 20 秒
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
// 页面加载时执行
|
||||
// $(document).ready(function () {
|
||||
// let vod_name = $("h1 a").text();
|
||||
// let vod_url = window.location.pathname;
|
||||
// let vod_part = $(".stui-content__playlist .active a").text();
|
||||
// addHistory(vod_name, vod_url, vod_part)
|
||||
// history();
|
||||
// });
|
||||
</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}
|
||||
@@ -10,14 +10,14 @@
|
||||
'{strLangName}' => '这个是语言名字..',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{intPage}' => '当前页面分页页码',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
目前 优化分类列表页面:分类首页有分页 {intPage} 是这的占位符,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
筛选条件1 按地区筛选: 中国 , 美国 .. 注意:{strAreaName} 是这些的占位符 ;
|
||||
筛选条件2 按语言筛选: 汉语,英语 .. 注意:{strLangName} 是这些的占位符 ;
|
||||
@@ -34,20 +34,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
@@ -24,20 +24,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
@@ -24,20 +24,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{sub_categories}等,{strSiteKeywords},立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{sub_categories}等,{strSiteKeywords},立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
注意:目前 优化排行榜页面:排行榜页面没有分页,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
|
||||
筛选条件1 按排序筛选: 天排行榜,周排行榜,月排行榜,总排行榜,票房排行榜 .. 注意:{strOrderName} 是这些的占位符 ;
|
||||
@@ -30,20 +30,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}{strVideoClassName}排行榜 - {strSiteName} - 高清热门{strVideoClassName}'
|
||||
'{strYear}{strVideoParentCategoryName}排行榜 - {strSiteName} - 高清热门{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'{strVideoClassName}排行榜,热门{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
'{strVideoParentCategoryName}排行榜,热门{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}精选{strYear}{strVideoClassName}排行榜,免费观看高清热门{strVideoClassName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
'{strSiteName}精选{strYear}{strVideoParentCategoryName}排行榜,免费观看高清热门{strVideoParentCategoryName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}{strVideoClassName}排行榜'
|
||||
'{strSiteName} - {strYear}{strVideoParentCategoryName}排行榜'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
78
code/app/home/view/videoDadi/推广SEO过程设计记录/TKD/排行榜首页 TKD 模板.md
Normal file
78
code/app/home/view/videoDadi/推广SEO过程设计记录/TKD/排行榜首页 TKD 模板.md
Normal file
@@ -0,0 +1,78 @@
|
||||
很好,下面是我整理了一份格式,你根据这个格式 返回我需要的高质量内容
|
||||
{strSiteKeywords} = 免费视频,热门影视,视频网站
|
||||
最牛的seo 优化大师
|
||||
这个是 替换标识 这个页面下面的标签都可以使用 ,{strSiteKeywords} 是全局公用关键词,你看看怎么使用
|
||||
|
||||
'{strSiteName}' => '这个是网站名',
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
注意:目前 优化排行榜首页:排行榜页面没有分页,
|
||||
|
||||
分类列表页 展示内容: 日,周 ,月,总 四个排行榜列表,每个列表展示20个视频;
|
||||
需要你帮忙设计 TKD 模板,
|
||||
h1标签内容 模板,
|
||||
h4标签(页面介绍描述,主要是丰富页面 友好seo),
|
||||
因为我后面需要部署大量域名站点 都使用同一个视图模板,所以要设计不同的 seo 替换模板
|
||||
|
||||
请根据路由和上面的替换标识和描述,你帮忙设计50套最友好seo的 tkd. h1 . h4 替换模板,字数要符合常规,不要超标也不要少,质量要保证,多参考其它 权重高的视频站点设计,
|
||||
需要完整 50 套模板的详细文本(而非代表性示例),不要重复
|
||||
注意 占位替换模板只能使用我上面列出来的,如果需要增加请告诉我,尽量把上面的占位符都使用上
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
|
||||
..
|
||||
]
|
||||
description: [
|
||||
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
|
||||
..
|
||||
]
|
||||
|
||||
h4 :[
|
||||
|
||||
..
|
||||
]
|
||||
注意:h4: 确保 <h4> 内容自然,长度适中(50-120 字)(作用是丰富列表页面内容的文案)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"title": [
|
||||
|
||||
],
|
||||
"keywords": [
|
||||
|
||||
],
|
||||
"description": [
|
||||
|
||||
],
|
||||
"h1": [
|
||||
|
||||
],
|
||||
"h4": [
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
@@ -58,14 +58,14 @@
|
||||
注意:h4: 确保 <h4> 内容自然,长度适中(50-120 字)(作用是丰富列表页面内容的文案)
|
||||
|
||||
|
||||
感谢你的详细需求!你的目标是为视频站点的视频播放页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,并补充 50 套社交媒体标签模板(Open Graph 和 Twitter Card),以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoClassName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}, {strVideoDescription}, {intPlayIndex})。
|
||||
感谢你的详细需求!你的目标是为视频站点的视频播放页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,并补充 50 套社交媒体标签模板(Open Graph 和 Twitter Card),以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoParentCategoryName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}, {strVideoDescription}, {intPlayIndex})。
|
||||
|
||||
视频播放页面与视频详情页面高度相似,但增加了播放器(播放 m3u8 文件),且对于电视剧包含集数(通过 {intPlayIndex} 表示)。以下是根据你的要求设计的 完整 50 套 TKD、H1、H4 模板 和 50 套社交媒体标签模板,专为视频播放页面优化,确保高质量、无重复,参考高权重视频站点的 SEO 和社交媒体策略(如爱奇艺的“电视剧名称 第X集 - 在线观看”)。
|
||||
|
||||
设计原则
|
||||
TKD、H1、H4 模板
|
||||
SEO 友好:
|
||||
Title:60-70 字符,突出 {strVideoName}、 {intPlayIndex}(如“第1集”)、 {strVideoClassName},吸引点击。
|
||||
Title:60-70 字符,突出 {strVideoName}、 {intPlayIndex}(如“第1集”)、 {strVideoParentCategoryName},吸引点击。
|
||||
Keywords:6-8 个关键词,融入 {strSiteKeywords}, {strVideoActor}, {intPlayIndex},覆盖高频搜索词(如“电视剧名称 第1集”)。
|
||||
Description:120-160 字符,包含 {strVideoName}, {strVideoDescription:50}, {intPlayIndex} 和行动号召。
|
||||
H1:20-40 字符,突出 {strVideoName} 和 {intPlayIndex},适合页面显示。
|
||||
@@ -88,7 +88,7 @@ H4:50-120 字(约 100-200 字符)。
|
||||
腾讯视频:H1 简洁(如“电视剧名称 第X集”),Keywords 覆盖主演和集数。
|
||||
优酷:Description 突出“在线播放”、“高清”。
|
||||
占位符使用:
|
||||
尽量融入 {strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoClassName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex}。
|
||||
尽量融入 {strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoParentCategoryName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex}。
|
||||
{intPlayIndex} 在电视剧播放页面中高频使用(如“第{intPlayIndex}集”),电影播放页面可省略或替换为“正片”。
|
||||
社交媒体标签模板
|
||||
SEO 和分享优化:
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
@@ -59,11 +59,11 @@
|
||||
|
||||
|
||||
|
||||
感谢你的详细需求!你的目标是为视频站点的视频详情页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoClassName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}、{strVideoDescription})。
|
||||
感谢你的详细需求!你的目标是为视频站点的视频详情页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoParentCategoryName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}、{strVideoDescription})。
|
||||
|
||||
以下是根据你的要求设计的 完整 50 套详细、无重复的 SEO 优化模板,针对视频详情页面(包含视频的详细信息,如名称、导演、演员、简介等)。模板参考高权重视频站点的 SEO 策略(如爱奇艺的“电影名称 - 在线观看 - 爱奇艺”),注重关键词密度、语义清晰、用户吸引力和多域名适配。每个模板确保:
|
||||
|
||||
Title:60-70 字符,突出 {strVideoName}、 {strVideoClassName},吸引点击。
|
||||
Title:60-70 字符,突出 {strVideoName}、 {strVideoParentCategoryName},吸引点击。
|
||||
Keywords:6-8 个关键词,融入 {strSiteKeywords}、{strVideoActor},覆盖高频搜索词。
|
||||
Description:120-160 字符,包含 {strVideoName}、 {strVideoDescription}(截取前50字)和行动号召。
|
||||
H1:20-40 字符,突出 {strVideoName},适合页面显示。
|
||||
@@ -71,14 +71,14 @@ H4:50-120 字,自然流畅,引导用户,丰富页面内容。
|
||||
设计原则
|
||||
SEO 友好:
|
||||
模板融入高频关键词(如“在线观看”、“高清”、“免费”),参考高权重视频站点的标题结构(如“2025电影名称 - 腾讯视频”)。
|
||||
确保 Title、Keywords、Description 和 H1/H4 关键词一致,强化页面主题(如 {strVideoName}、 {strVideoClassName})。
|
||||
确保 Title、Keywords、Description 和 H1/H4 关键词一致,强化页面主题(如 {strVideoName}、 {strVideoParentCategoryName})。
|
||||
{strVideoDescription} 在 Description 中截取前50字,确保语义完整,符合 SEO 规范。
|
||||
独特性:
|
||||
50 套模板通过措辞变化(如“热播”、“精选”、“热门”)、占位符组合(如 {strVideoActor}、 {strVideoDirector})和结构调整(如站点名称位置)保持多样性。
|
||||
避免与视频播放页面或其他页面(如分类列表页)冲突,详情页面强调 {strVideoName}、 {strVideoDescription} 和 {strVideoActor}。
|
||||
多域名适配:
|
||||
使用指定占位符(未新增任何占位符)支持批量部署。
|
||||
{strVideoClassName} 动态替换大分类(如“电影”),{strVideoCategoryName} 替换小分类(如“动作片”),{strVideoName} 替换具体视频名称。
|
||||
{strVideoParentCategoryName} 动态替换大分类(如“电影”),{strVideoCategoryName} 替换小分类(如“动作片”),{strVideoName} 替换具体视频名称。
|
||||
字数控制:
|
||||
Title:60-70 字符。
|
||||
Keywords:6-8 个关键词。
|
||||
@@ -90,6 +90,6 @@ H4:50-120 字(约 100-200 字符)。
|
||||
腾讯视频:H1 简洁(如“电影名称”),Description 突出“主演”、“导演”。
|
||||
优酷:Keywords 覆盖广泛(如“电影名称、演员、免费在线观看”)。
|
||||
占位符使用:
|
||||
所有模板尽量融入 {strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoClassName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription}。
|
||||
所有模板尽量融入 {strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoParentCategoryName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription}。
|
||||
{strVideoDescription} 在 Description 中截取前50字(如“{strVideoDescription:50}”),H4 中使用完整简介或部分引导语。
|
||||
重要占位符(如 {strVideoName}、{strVideoDescription}、{strVideoActor})在每套模板中高频使用
|
||||
@@ -9,13 +9,13 @@
|
||||
'{strLangName}' => '这个是语言名字..',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{intPage}' => '当前页面分页页码',
|
||||
|
||||
分类列表页面:
|
||||
分类首页有分页 {intPage} 是这的占位符,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
筛选条件1 按地区筛选: 中国 , 美国 .. 注意:{strAreaName} 是这些的占位符 ;
|
||||
筛选条件2 按语言筛选: 汉语,英语 .. 注意:{strLangName} 是这些的占位符 ;
|
||||
@@ -30,20 +30,20 @@
|
||||
|
||||
返回格式例子:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
|
||||
分类首页:
|
||||
没有分页,一共有5大分类: 电影,电视剧,综艺,动漫,短剧 ;
|
||||
@@ -19,20 +19,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
|
||||
排行榜页面:
|
||||
排行榜页面没有分页,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
|
||||
筛选条件1 按排序筛选: 天排行榜,周排行榜,月排行榜,总排行榜,票房排行榜 .. 注意:{strOrderName} 是这些的占位符 ;
|
||||
@@ -25,20 +25,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}{strVideoClassName}排行榜 - {strSiteName} - 高清热门{strVideoClassName}'
|
||||
'{strYear}{strVideoParentCategoryName}排行榜 - {strSiteName} - 高清热门{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'{strVideoClassName}排行榜,热门{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
'{strVideoParentCategoryName}排行榜,热门{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}精选{strYear}{strVideoClassName}排行榜,免费观看高清热门{strVideoClassName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
'{strSiteName}精选{strYear}{strVideoParentCategoryName}排行榜,免费观看高清热门{strVideoParentCategoryName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}{strVideoClassName}排行榜'
|
||||
'{strSiteName} - {strYear}{strVideoParentCategoryName}排行榜'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
|
||||
Reference in New Issue
Block a user