video-template-2
@@ -76,6 +76,15 @@ Route::get('/searchhome/0', function (\think\Request $Request, SiteContext $Site
|
||||
})->ext('html');
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 导航
|
||||
*/
|
||||
Route::get('/map', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return view('video/getMap.html');
|
||||
})->ext('html');
|
||||
|
||||
|
||||
/**
|
||||
* 路由配置文件
|
||||
*/
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
<link href="/public/layer/need/layer.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/template/videodadi/font/iconfont.css" type="text/css">
|
||||
<link rel="stylesheet" href="/template/videodadi/css/stui_block.css" type="text/css">
|
||||
<!-- <link rel="stylesheet" href="/template/videodadi/css/stui_block_color.css" type="text/css"> -->
|
||||
<!-- <link rel="stylesheet" href="/template/videodadi/css/stui_default.css" type="text/css"> -->
|
||||
<link rel="stylesheet" href="/template/videodadi/css/mytheme-font.css" type="text/css">
|
||||
|
||||
{block name="head"}{/block}
|
||||
@@ -78,7 +76,7 @@
|
||||
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li class="{if $val.v_category_en == $Request.route.strParentCategory}active{/if}">
|
||||
<a href='{site:vciurl prent_category="$val.v_category_en" /}'>
|
||||
<a href='{site:vciurl parent_category="$val.v_category_en" /}'>
|
||||
{$val.v_category}
|
||||
</a>
|
||||
</li>
|
||||
@@ -133,7 +131,20 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"thumbnailUrl": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
{/if}
|
||||
{/volist}
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}"
|
||||
|
||||
@@ -49,3 +49,4 @@
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{video:pagerexp page="$Request.get.page" limit="10"
|
||||
key="$Request.get.keyword"
|
||||
d_key="d_key"
|
||||
d_val="Video"
|
||||
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
|
||||
|
||||
{site:grm page_code="h5_video_search" diff="$Request.url" num="30" g_key="arrGrm" /}
|
||||
{/block}
|
||||
|
||||
@@ -16,28 +12,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
|
||||
|
||||
{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:type" content="website">
|
||||
<meta property="og:site_name" content="大地影视">
|
||||
<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: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}页,最新视频免费观看"
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -68,60 +43,12 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__media col-pd clearfix " id="historyContainer">
|
||||
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
<li class="active clearfix">
|
||||
<div class="thumb"><a
|
||||
|
||||
class="v-thumb stui-vodlist__thumb lazyload-bg"
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
title="{$Video.v_name}"
|
||||
data-src="{$Video.v_pic}"><span
|
||||
class="play hidden-xs"></span><span
|
||||
class="pic-text text-right">{$Video.v_remarks}</span></a></div>
|
||||
<div class="detail">
|
||||
<h3 class="title"><a
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'>{$Video.v_name}</a></h3>
|
||||
<p><span class="text-muted">导演:</span>
|
||||
{foreach $Video.v_director as $keyDirector=>$strDirector}
|
||||
{$strDirector}
|
||||
{/foreach}
|
||||
</p>
|
||||
<p><span class="text-muted">主演:</span>
|
||||
{foreach $Video.v_actor as $keyActor=>$strActor}
|
||||
{$strActor}
|
||||
{/foreach}
|
||||
</p>
|
||||
<p class="hidden-mi">
|
||||
<span class="text-muted">类型:</span>
|
||||
{$Video.v_category}
|
||||
<span class="split-line"></span>
|
||||
<span class="text-muted">地区:</span>
|
||||
{foreach $Video.v_area as $keyArea=>$strArea}
|
||||
<a href='{site:vsurl key="$strArea" p="1"/}'>{$strArea}</a>
|
||||
|
||||
{/foreach}
|
||||
<span class="hidden-xs">
|
||||
<span class="split-line"></span>
|
||||
<span class="text-muted">年份:</span>
|
||||
{$Video.v_year}
|
||||
</span>
|
||||
</p>
|
||||
<p class="margin-0"><a
|
||||
class="btn btn-min btn-primary"
|
||||
href='{site:vpurl v_id="$Video.v_id" v_py="$Video.v_name_en" play_type="default" play_index="1" /}'>立即播放</a> <a
|
||||
class="btn btn-min btn-default"
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'>查看详情</a></p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{/foreach}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-wide-25 stui-pannel-side hidden-md hidden-sm hidden-xs">
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box">
|
||||
@@ -136,7 +63,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="0"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -155,7 +82,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="21" /}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
@@ -171,7 +98,11 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
const strVideoUrlTemp = `{site:replace code="VIDEO_INFO_URL"}`;
|
||||
const strVideoPlayUrlTemp = `{site:replace code="VIDEO_PLAY_URL"}`;
|
||||
const strSearchUrlTemp = `{site:replace code="VIDEO_SEARCH_LIST_URL"}`;
|
||||
// 调用展示书架功能
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
// 调用展示书架功能
|
||||
displayHistory();
|
||||
})
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
@@ -70,7 +70,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
@@ -91,13 +91,13 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "分类首页",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vciurl prent_category="$Request.route.strParentCategory" /}"
|
||||
"item": "https://{$DomainModel->d_domain}{site:vciurl parent_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"}"
|
||||
"item": "https://{$DomainModel->d_domain}{site:vclurl parent_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"}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -134,7 +134,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
{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>
|
||||
<a href='{site:vclurl parent_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>
|
||||
@@ -146,7 +146,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
<li
|
||||
class="{if $Request.route.strCategory == $arrChildrenCategory.v_category_en}active{/if}">
|
||||
<a href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}' class="text-muted">{$arrChildrenCategory.v_category}</a>
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}' class="text-muted">{$arrChildrenCategory.v_category}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if}
|
||||
@@ -159,7 +159,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
{video:area d_key="key" d_val="val"}
|
||||
|
||||
<li class='{if $Request.route.strArea == $key}active{/if}'>
|
||||
<a href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$key" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$key" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
class="text-muted">{$val}</a>
|
||||
</li>
|
||||
{/video:area}
|
||||
@@ -168,7 +168,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<li><span class="text-muted">按年份</span></li>
|
||||
{video:year d_key="key" d_val="val"}
|
||||
<li class='{if $Request.route.strYear == $key}active{/if}'>
|
||||
<a href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$key" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$key" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
class="text-muted">{$val}</a>
|
||||
</li>
|
||||
{/video:year}
|
||||
@@ -179,7 +179,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
{video:lang d_key="key" d_val="val"}
|
||||
|
||||
<li class='{if $Request.route.strLang == $key}active{/if}'>
|
||||
<a href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$key" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$key" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
class="text-muted">{$val}</a>
|
||||
</li>
|
||||
{/video:lang}
|
||||
@@ -195,7 +195,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<ul class="nav nav-head">
|
||||
{video:sort d_key="key" d_val="val"}
|
||||
<li class="{if $Request.route.strOrder == $key}active{/if}">
|
||||
<a href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$key" page="$Request.route.intPage"}'>
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$key" page="$Request.route.intPage"}'>
|
||||
{$val}</a>
|
||||
</li>
|
||||
{/video:sort}
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
@@ -86,7 +86,7 @@
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "分类首页",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vciurl prent_category="$Request.route.strParentCategory" /}"
|
||||
"item": "https://{$DomainModel->d_domain}{site:vciurl parent_category="$Request.route.strParentCategory" /}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -122,13 +122,13 @@
|
||||
<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"/}'>
|
||||
href='{site:vclurl parent_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"/}'>
|
||||
href='{site:vclurl parent_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}推荐
|
||||
</a>
|
||||
</h3>
|
||||
|
||||
@@ -41,13 +41,13 @@
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{if $key < 5 }
|
||||
{if $key < 10 }
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
@@ -80,7 +80,6 @@
|
||||
|
||||
|
||||
{block name="head-css"}
|
||||
<link rel="canonical" href="https://{$Request.route.strSiteDomain}/rank/{$Request.route.strVideoParentCategoryName}/{$Request.route.strOrderName}">
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}
|
||||
|
||||
@@ -46,13 +46,13 @@ p_val="page_data" button_num="10" cache_life="86400" export_name="arrVideoRankL
|
||||
"hasPart": [
|
||||
{volist name="arrVideoRankList" id="Video" key="key"}
|
||||
|
||||
{if $key < 5 }
|
||||
{if $key < 10}
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
@@ -73,8 +73,14 @@ p_val="page_data" button_num="10" cache_life="86400" export_name="arrVideoRankL
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "排行榜首页",
|
||||
"name": "排行榜",
|
||||
"item": "https://{$DomainModel->d_domain}{$strRankUrlTemp}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "{site:getval code="strVideoParentCategoryName" /}{site:getval code="strVideoCategoryName" /}{site:getval code="strOrderName" /}排行榜",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vrlurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" sort_type="$Request.route.strSortType" page="1"/}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -154,7 +160,7 @@ p_val="page_data" button_num="10" cache_life="86400" export_name="arrVideoRankL
|
||||
<ul class="nav nav-head">
|
||||
{video:ranksort d_key="key" d_val="val"}
|
||||
<li class="{if $Request.route.strSortType == $key}active{/if}">
|
||||
<a href='{site:vrlurl class="$Request.route.strParentCategory" category="$Request.route.strCategory" sort_type="$key" page="1"/}'>
|
||||
<a href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" sort_type="$key" page="1"/}'>
|
||||
{$val}排行榜
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
key="$Request.get.keyword"
|
||||
d_key="d_key"
|
||||
d_val="Video"
|
||||
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
|
||||
p_val="page_data" button_num="5" cache_life="86400" func="generateSearchPager" export_name="resData" /}
|
||||
{site:grm page_code="h5_video_search" diff="$Request.url" num="30" g_key="arrGrm" /}
|
||||
{/block}
|
||||
|
||||
@@ -108,7 +108,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
<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_27.png"></h3>
|
||||
<h3 class="title"> 搜索<span style="color:red">“{$Request.get.keyword}”</span>相关结果共有 <span style="color:red">{$resData.p_data.total}</span> 部视频 </h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"name": "{$arrVideo.v_name}",
|
||||
"description": "{$arrVideo.v_description}",
|
||||
"thumbnailUrl": "{$arrVideo.v_pic}",
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}',
|
||||
|
||||
"inLanguage": [
|
||||
@@ -147,9 +147,9 @@
|
||||
</span>
|
||||
<a class="nav-item-a" href="/">首页</a>
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
<a class="nav-item-a" href='{site:vciurl prent_category="$arrVideo.v_parent_category_en" /}'>{$arrVideo.v_parent_category}</a>
|
||||
<a class="nav-item-a" href='{site:vciurl parent_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>
|
||||
<a class="nav-item-a" href='{site:vclurl parent_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>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"name": "{$arrVideo.v_name}",
|
||||
"description": "{$arrVideo.v_description}",
|
||||
"thumbnailUrl": "{$arrVideo.v_pic}",
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}',
|
||||
|
||||
"inLanguage": [
|
||||
|
||||
211
code/app/home/view/videoDingZhu/base.html
Normal file
@@ -0,0 +1,211 @@
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
{block name="get-data"}{/block}
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
|
||||
<title>{block name="title"}{/block}</title>
|
||||
<meta name="keywords" content='{block name="keywords"}{/block}'>
|
||||
<meta name="description" content='{block name="description"}{/block}'>
|
||||
|
||||
<link rel="shortcut icon" href="/template/videodingzhu/images/favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" href="/template/videodingzhu/css/plugins.css" type="text/css">
|
||||
<link rel="stylesheet" href="/template/videodingzhu/css/global.css" type="text/css">
|
||||
<link rel="stylesheet" href="/template/videodingzhu/css/style.css" type="text/css">
|
||||
{//
|
||||
<!-- <link rel="stylesheet" href="/template/videodingzhu/css/color.css" type="text/css" name="default"> -->
|
||||
<!-- <link rel="stylesheet" href="/public/layer/layer.css?v=3.5.1" id="layuicss-layer"> -->
|
||||
}
|
||||
{block name="head"}{/block}
|
||||
{block name="head-css"}{/block}
|
||||
{block name="head-js"}{/block}
|
||||
<script>
|
||||
const strPcPath = `{$strPcPath}`;
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body class="f9eb6d active {block name='body-class'}{/block}" id="{block name='body-id'}{/block}">
|
||||
<header class="a23db0 lvshicms-header__top" id="header-top">
|
||||
<div class="c6f1a2 container">
|
||||
<div class="d3071b row">
|
||||
<div class="b6bfb3 lvshicms-header__logo">
|
||||
<a class="f1c0ad logo" href="/">
|
||||
{$DomainModel->d_name}
|
||||
</a>
|
||||
</div>
|
||||
<div
|
||||
class="d55436 lvshicms-header__menu hidden-sm hidden-xs swiper-initialized swiper-horizontal swiper-pointer-events swiper-free-mode">
|
||||
<ul class="c308d4 swiper-wrapper" id="swiper-wrapper-15acf77edda9621f" aria-live="polite"
|
||||
style="transition-duration: 300ms;">
|
||||
<li class="c1afb6 swiper-slide {if $Request.route.strParentCategory == ''}active{/if}"><a href="/">首页</a></li>
|
||||
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
|
||||
<li class='ac50b3 swiper-slide dropdown-hover {if $val.v_category_en == $Request.route.strParentCategory}active{/if}'>
|
||||
<a href='{site:vciurl parent_category="$val.v_category_en" /}'>{$val.v_category}</a>
|
||||
|
||||
<div class="bed39b dropdown-box bottom fadeInDown clearfix" style="padding-top: 0;">
|
||||
<ul class="e7213a item nav-list clearfix" style="width: 190px;">
|
||||
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
<li class="b6abc3 col-md-2 col-sm-2 col-xs-1" style="padding: 6px;"><a
|
||||
class="c11c57 btn btn-sm btn-block btn-default"
|
||||
href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1"/}'>
|
||||
{$arrChildrenCategory.v_category}
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
|
||||
<li class="a2d382 swiper-slide "> <a href="{$strRankUrlTemp}">榜单</a> </li>
|
||||
|
||||
</ul>
|
||||
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
|
||||
</div>
|
||||
<ul class="e4dd97 lvshicms-header__user">
|
||||
<li class="f7ad8a hist slide-search-toggle hidden-xs hidden-sm">
|
||||
<form action="{$strSearchListUrlTemp}">
|
||||
<input class="d1f534 mobile-search-input" name="keyword" placeholder="搜索免费高清电影或主演">
|
||||
<button class="d3b134 mobile-search-button" type="submit"><i
|
||||
class="b2a8c7 fa fa-search"></i></button>
|
||||
</form>
|
||||
</li>
|
||||
|
||||
<li class="f37351 hist dropdown-hover">
|
||||
<a href="{$strHistoryUrlTemp}" title="播放记录">
|
||||
<i class="afd2b2 fa fa-clock-o"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="d9ad47 mobile-search hidden-md hidden-lg">
|
||||
<form action="{$strSearchListUrlTemp}">
|
||||
<input class="d1f534 mobile-search-input" name="keyword" placeholder="搜索免费高清电影或主演">
|
||||
<button class="d3b134 mobile-search-button" type="submit"><i
|
||||
class="b2a8c7 fa fa-search"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
<div
|
||||
class="ab3059 nav-box hidden-md hidden-lg swiper-initialized swiper-horizontal swiper-pointer-events swiper-free-mode swiper-backface-hidden">
|
||||
<ul class="f34760 swiper-wrapper" id="swiper-wrapper-cc8105579edaa1a3" aria-live="polite">
|
||||
<li class="a4f250 nav-item swiper-slide {if $Request.route.strParentCategory == ''}active swiper-slide-active{/if}" role="group"
|
||||
aria-label="1 / 8">
|
||||
<a href="/">
|
||||
<i class="bd0907 nav-item-icon home"></i>
|
||||
<span class="b08159 nav-item-text">首页</span>
|
||||
</a>
|
||||
</li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li class='e544e2 nav-item swiper-slide swiper-slide-next {if $val.v_category_en == $Request.route.strParentCategory}active swiper-slide-active{/if}' role="group" aria-label="2 / 8">
|
||||
<a href='{site:vciurl parent_category="$val.v_category_en" /}'>
|
||||
<i class="afd4ea nav-item-icon dy"></i>
|
||||
<span class="d8f67b nav-item-text">{$val.v_category}</span>
|
||||
</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
|
||||
<li class="d0f97c nav-item swiper-slide" role="group" aria-label="7 / 8">
|
||||
<a href="{$strRankUrlTemp}">
|
||||
<i class="c739f9 nav-item-icon bd"></i>
|
||||
<span class="e34e2d nav-item-text">热播</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="f075db lvshicms-header__top_bg hidden-sm hidden-xs"></div>
|
||||
</header>
|
||||
|
||||
<div class="d61dbe slide-search">
|
||||
<header class="a8408b slide-search-header">
|
||||
<a class="b4a13d slide-search-close" href="javascript:;">
|
||||
<i class="f8d4d2 fa fa-chevron-left"></i>
|
||||
</a>
|
||||
搜索
|
||||
</header>
|
||||
|
||||
<div class="da8a21 slide-search-body">
|
||||
<form class="a40443 slide-search-form" method="get" action="{$strSearchListUrlTemp}">
|
||||
<input type="text" name="keyword" class="d05fc1 slide-search-input" value="" placeholder="搜索免费高清电影或主演"
|
||||
autocomplete="off">
|
||||
<button type="submit" class="b6ce5d slide-search-submit"><i class="b004bd fa fa-search"></i></button>
|
||||
</form>
|
||||
|
||||
<ul class="ab08b9 slide-search-list">
|
||||
<li class="bfcc70 slide-search-title">热门搜索</li>
|
||||
{video:list count="6"
|
||||
sort_type="news"
|
||||
d_key="key" d_val="Video"
|
||||
cache_life="86400"}
|
||||
|
||||
<li class="cbc4a0 slide-search-item">
|
||||
<a href='{site:vsurl key="$Video.v_name" p="1"/}'>
|
||||
<em class="f1a98e slide-search-icon">NO</em>
|
||||
<em class="bd65b9 slide-search-num slide-search-num1">{$key}</em>
|
||||
<span class="ddcfc6 slide-search-name">{$Video.v_name}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
{/video:list}
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="e2b25c slide-search-bg"></div>
|
||||
|
||||
{block name="main"}
|
||||
{/block}
|
||||
|
||||
|
||||
{include file="public/footer" /}
|
||||
|
||||
{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>
|
||||
|
||||
|
||||
{// 全局统计 }
|
||||
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
||||
|
||||
{// 站点统计 }
|
||||
{$DomainModel->d_statis|raw}
|
||||
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
58
code/app/home/view/videoDingZhu/index.md
Normal file
@@ -0,0 +1,58 @@
|
||||
大地视频模板-资源模板
|
||||
|
||||
|
||||
1.视频分类 分页标签查询, 增加 4个查询字段
|
||||
|
||||
$v_class = $tag['v_class'] ?? '10'; // 自定义分类 电影 电视剧 ..
|
||||
$v_lang = $tag['v_lang'] ?? "all"; // 语言
|
||||
$v_area = $tag['v_area'] ?? "all"; // 地区
|
||||
$v_year = $tag['v_year'] ?? "all"; // 年份
|
||||
|
||||
2. 排行榜标签 增加 分类查询
|
||||
{video:ranklist v_class="dianying" v_category="$val.v_category_en"
|
||||
|
||||
|
||||
|
||||
需要 配置tkd 模板的页面
|
||||
|
||||
首页:
|
||||
h1: 站点名字 - 站点text logo
|
||||
丰富内容-》站点描述:
|
||||
T
|
||||
K
|
||||
D
|
||||
|
||||
|
||||
分类首页
|
||||
h1: 站点名字 - 站点text logo
|
||||
丰富内容-》站点描述:
|
||||
tkd
|
||||
分类分页
|
||||
|
||||
视频详情页面
|
||||
视频播放页面
|
||||
|
||||
视频搜索页面
|
||||
视频排行榜首页
|
||||
视频排行榜分页
|
||||
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
页面 有
|
||||
首页
|
||||
分类首页:分类首页没有分页,一共有 电影,电视剧,综艺,动漫,短剧 。5大分类。
|
||||
分类首页 展示内容:每一大分类下面的所有小分类 展示10个视频;
|
||||
这个就是上面发你的代码;
|
||||
需要你帮忙设计 TKD 模板
|
||||
和 h1标签内容 模板
|
||||
因为我后面需要部署大量域名站点 都使用同一个模板
|
||||
|
||||
分类列表分页:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
226
code/app/home/view/videoDingZhu/index/index.html
Normal file
@@ -0,0 +1,226 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:listexp count="8" sort_type="tuijian" d_key="key" d_val="Video" cache_life="86400" export_name="arrVideoTuijian"
|
||||
/}
|
||||
{video:listexp count="17" sort_type="piaofang" d_key="key" d_val="Video" cache_life="86400"
|
||||
export_name="arrVideoPiaofang" /}
|
||||
|
||||
{site:grm page_code="h5_index" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@INDEX@INDEX@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@INDEX@INDEX@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@INDEX@INDEX@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
[
|
||||
{
|
||||
"@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"
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": "{$DomainModel->d_name}热门推荐预告片",
|
||||
"description": "观看{$DomainModel->d_name}最新电影和电视剧的精彩预告片!",
|
||||
{volist name="arrVideoTuijian" id="Video" key="key"}
|
||||
{if $key == 1 }
|
||||
"thumbnailUrl": 'https://{$DomainModel->d_domain}{$Video.v_pic}',
|
||||
{/if}
|
||||
{/volist}
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - {$DomainModel->d_logo_text}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"alternateName": "{$DomainModel->d_domain}",
|
||||
"description": "{$DomainModel->d_name}首页提供好莱坞最新电影、电视剧、综艺、动漫和短剧的免费高清在线观看,热门推荐每日更新!",
|
||||
"mainEntity": {
|
||||
"@type": "ItemList",
|
||||
"itemListElement": [
|
||||
|
||||
{volist name="arrVideoTuijian" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": {$key},
|
||||
"item": {
|
||||
"@type": "TVSeries",
|
||||
"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}
|
||||
|
||||
{volist name="arrVideoPiaofang" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "ListItem{$Video.v_id}",
|
||||
"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>
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
|
||||
{block name="main"}
|
||||
|
||||
|
||||
<div class="bc22cc container">
|
||||
|
||||
<div class="eb5be5 row ">
|
||||
<h1 class="view-title">
|
||||
<a href="/">{$DomainModel->d_name}</a>-{$DomainModel->d_text_logo}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETCATEGORYINDEX@TEXT"}</h4>
|
||||
</div>
|
||||
<div class="eb5be5 row">
|
||||
<div class="fb7647 col-xs-1 col-md-wide-75">
|
||||
<div class="eceb3c lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="b173ae lvshicms-panel-box clearfix">
|
||||
<div class="f66d8c lvshicms-panel_bd clearfix">
|
||||
<div class="bf9492 lvshicms-panel_hd">
|
||||
<div class="be8a1c lvshicms-panel__head bottom-line active clearfix">
|
||||
<h2 class="a1100b title"> 热门推荐 </h2>
|
||||
<a class="ec883e more text-muted right bg" href='{site:vclurl parent_category="all" category="all" area="all" lang="all" year="all" order="tuijian" page="1"/}'>更多推荐 <i
|
||||
class="fbbd96 fa fa-angle-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="d9e43b lvshicms-vodlist clearfix">
|
||||
{foreach $arrVideoTuijian as $key=>$Video }
|
||||
{include file="public/video-list-shu" start="0" col-lg="4"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a51b92 hidden-xs hidden-sm col-md-wide-25">
|
||||
<div class="cc593d lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="dcb74d lvshicms-panel-box clearfix">
|
||||
<div class="dae8b0 lvshicms-panel_hd">
|
||||
<div class="d7bedc lvshicms-panel__head active bottom-line clearfix">
|
||||
<h2 class="f48698 title"> 好莱坞榜单 </h2>
|
||||
<a class="c502a3 more text-muted right bg" href="javascript::">票房(亿) </a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a0c205 lvshicms-panel_bd">
|
||||
<ul class="f39a35 lvshicms-vodlist__text col-pd clearfix">
|
||||
{foreach $arrVideoPiaofang as $key=>$Video }
|
||||
{include file="public/video-list-phb" start="27" /}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="bd998f row">
|
||||
<div class="c9d5a5 col-xs-1">
|
||||
<div class="d739ec lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="f2c9c4 lvshicms-panel-box clearfix">
|
||||
<div class="aa80ce lvshicms-panel_hd">
|
||||
<div class="c49f14 lvshicms-panel__head bottom-line active clearfix">
|
||||
<h2 class="a9d97c title">最新上映</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a27622 lvshicms-panel_bd clearfix">
|
||||
<ul class="bbf222 lvshicms-vodlist clearfix">
|
||||
{video:list count="6"
|
||||
sort_type="news"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" start="0" col-lg="6"/}
|
||||
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
{include file="public/video-panel" /}
|
||||
{/video:categorytype}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
|
||||
{/block}
|
||||
49
code/app/home/view/videoDingZhu/public/footer.html
Normal file
@@ -0,0 +1,49 @@
|
||||
<div class="df0a63 lvshicms-foot clearfix" style="padding-top:0px;">
|
||||
<div class="fa6207 container">
|
||||
<div class="f8fa68 row">
|
||||
<div class="d4ce18 col-xs-1">
|
||||
<div class="be974b lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="cbdc99 lvshicms-panel-box clearfix">
|
||||
<div class="f98dfa lvshicms-panel_hd">
|
||||
<div class="bd50fd lvshicms-panel__head clearfix">
|
||||
<h3 class="f7c1b4 title"> 友情链接 </h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="f9bdb5 lvshicms-panel_bd clearfix">
|
||||
<div class="f358be col-xs-1">
|
||||
<ul class="a085fb lvshicms-link__text clearfix">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="aa00ab col-xs-1">
|
||||
<div class="cea0ad col-pd text-center">
|
||||
<p>
|
||||
<!-- <a href="/rss/index.xml" target="_blank">RSS地图</a>
|
||||
<a href="/rss/baidu.xml" target="_blank">百度Sitemap</a>
|
||||
<a href="/rss/so.xml" target="_blank">360Sitemap</a>
|
||||
<a href="/rss/google.xml" target="_blank">谷歌Sitemap</a> -->
|
||||
|
||||
<a href="/sitemap_index.xml" target="_blank">XML地图</a>
|
||||
<a href="/robots.txt" target="_blank">网站地图</a>
|
||||
{ad:list code="YOUQING_LIANJIE_GUANG_GAO" order="desc" limit="2" id="ad"}
|
||||
<a href="{$ad.gg_tiao_zhuan_di_zhi}" target="_blank">{$ad.gg_wen_zi}
|
||||
</a>
|
||||
{/ad:list}
|
||||
</p>
|
||||
<p>Copyright © 2025 {$DomainModel->d_name} <a href="/"> {$DomainModel->d_domain}</a>All Rights Reserved .</p>
|
||||
<p>若本站收录内容侵犯了您的权益,请给我们留言,本站将第一时间处理。</p>
|
||||
<p>反馈邮箱:{site:cfg code="YOU_XIANG" encode="false"/}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="b3f1cb lvshicms-extra clearfix">
|
||||
<li> <a class="fb9d99 backtop" href="javascript:scroll(0,0)" title="返回顶部" style="display: none;"><i
|
||||
class="f6e490 fa fa-angle-up"></i></a> </li>
|
||||
</ul>
|
||||
|
||||
|
||||
21
code/app/home/view/videoDingZhu/public/video-list-phb.html
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
|
||||
<li>
|
||||
{if !empty($arrGrm[$key + [start]])}
|
||||
{$arrGrm[$key+[start]]|raw}
|
||||
{/if}
|
||||
<?php $key ++ ?>
|
||||
<a class="ae5cfc text-overflow" href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
title="{$Video.v_name}">
|
||||
<span class='c4df4f pull-right text-muted visible-lg '>
|
||||
{$Video.v_box_office ?? 0}
|
||||
</span>
|
||||
<span class='dd3e38 badge
|
||||
{eq name="$key" value="1"}badge-first {/eq}
|
||||
{eq name="$key" value="2"}badge-second {/eq}
|
||||
{eq name="$key" value="3"}badge-third {/eq}'>
|
||||
{$key}
|
||||
</span>
|
||||
{$Video.v_name}
|
||||
</a>
|
||||
</li>
|
||||
25
code/app/home/view/videoDingZhu/public/video-list-shu.html
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
|
||||
<li class="fc7a7d col-lg-[col-lg] col-md-4 col-sm-3 col-xs-2">
|
||||
<div class="a9a18d lvshicms-vodlist__box">
|
||||
{if !empty($arrGrm[$key + [start]])}
|
||||
{$arrGrm[$key+[start]]|raw}
|
||||
{/if}
|
||||
<a class="d0ff14 lvshicms-vodlist__thumb"
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
title="{$Video.v_name}">
|
||||
<img class="lazyload-img" src="/static/img/load.png"
|
||||
data-src="{$Video.v_pic ?? ''}"
|
||||
alt="{$Video.v_name ?? ''} - {$Video.v_parent_category ?? ''}{$Video.v_category ?? ''}免费高清电影在线观看">
|
||||
<span class="c3b20e play hidden-xs"></span>
|
||||
<span class="bf637e pic-text text-right">{$Video.v_remarks}</span>
|
||||
|
||||
</a>
|
||||
<div class="dbbcf6 lvshicms-vodlist__detail">
|
||||
<h3 class="c9c8c4 title text-overflow">
|
||||
<a href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
title="{$Video.v_name}">{$Video.v_name}</a></h3>
|
||||
<p class="ed925a text text-overflow text-muted hidden-xs">简介:{$Video.v_description|raw}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@@ -0,0 +1,9 @@
|
||||
<li class="col-md-4 col-sm-3 col-xs-1 padding-0">
|
||||
{if !empty($arrGrm[$key + [start]])}
|
||||
{$arrGrm[$key+[start]]|raw}
|
||||
{/if}
|
||||
<a class="top-line-dot text-overflow" href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}' title="{$Video.v_name}">
|
||||
<span class="text-muted pull-right">{$Video.v_remarks}</span>
|
||||
{$Video.v_name}
|
||||
</a>
|
||||
</li>
|
||||
48
code/app/home/view/videoDingZhu/public/video-panel.html
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
|
||||
|
||||
<div class="eb5be5 row">
|
||||
<div class="fb7647 col-xs-1 col-md-wide-75">
|
||||
<div class="eceb3c lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="b173ae lvshicms-panel-box clearfix">
|
||||
<div class="f66d8c lvshicms-panel_bd clearfix">
|
||||
<div class="bf9492 lvshicms-panel_hd">
|
||||
<div class="be8a1c lvshicms-panel__head bottom-line active clearfix">
|
||||
<h2 class="a1100b title"> 最新{$val.v_category} </h2>
|
||||
<a class="ec883e more text-muted right bg" href='{site:vclurl parent_category="$val.v_category_en" category="all" area="all" lang="all" year="all" order="all" page="1"/}'>更多 <i
|
||||
class="fbbd96 fa fa-angle-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="d9e43b lvshicms-vodlist clearfix">
|
||||
{video:list count="8" v_parent_category_en="$val.v_category_en" sort_type="news" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu" start="27" col-lg="4"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a51b92 hidden-xs hidden-sm col-md-wide-25">
|
||||
<div class="cc593d lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="dcb74d lvshicms-panel-box clearfix">
|
||||
<div class="dae8b0 lvshicms-panel_hd">
|
||||
<div class="d7bedc lvshicms-panel__head active bottom-line clearfix">
|
||||
<h2 class="f48698 title"> {$val.v_category}周榜单 </h2>
|
||||
<a class="c502a3 more text-muted right bg" href="{$strRankUrlTemp}">更多 <i
|
||||
class="ed6c4f fa fa-angle-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a0c205 lvshicms-panel_bd">
|
||||
<ul class="f39a35 lvshicms-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="17"
|
||||
v_parent_category_en="$val.v_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="80"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
294
code/app/home/view/videoDingZhu/sitemap/index.md
Normal file
@@ -0,0 +1,294 @@
|
||||
对于一个小说站点(如你提到的包含首页、分类列表、排行榜、男生/女生频道、详情页面、章节页面、目录页面等),配置 Sitemap 时需要根据页面类型的重要性和 SEO 目标选择性地包含 URL,并合理组织以优化搜索引擎抓取和索引。以下是针对小说站点特点的 Sitemap 配置建议,包括哪些页面应该包含、如何处理大量 URL,以及相关的最佳实践。
|
||||
|
||||
---
|
||||
|
||||
### 一、小说站点页面类型分析
|
||||
根据你提供的信息,小说站点的页面类型可以分为以下几类,每类页面的 SEO 价值和是否需要包含在 Sitemap 中有所不同:
|
||||
|
||||
| 页面类型 | 描述 | SEO 价值 | 是否包含在 Sitemap |
|
||||
|------------------|----------------------------------------------------------------------|---------------------------------------|--------------------|
|
||||
| **首页** | 网站主入口,通常包含推荐小说、导航等。 | 高(核心流量入口) | 是 |
|
||||
| **分类列表** | 按题材、类型(如玄幻、言情)展示小说列表,可能有多页(如 `page=2`)。| 高(引导用户到具体小说) | 是(仅包含主页面) |
|
||||
| **排行榜** | 热门小说排行,可能按日、周、月或类型(如男生/女生)排序。 | 中到高(吸引点击,动态更新) | 是(视情况精选) |
|
||||
| **男生/女生频道**| 针对不同用户群的分类页面(如男生玄幻、女生穿越)。 | 高(细分用户需求) | 是 |
|
||||
| **详情页面** | 小说详情页,包含简介、封面、目录链接等。 | 高(核心转化页面) | 是 |
|
||||
| **章节页面** | 小说具体章节内容,通常数量庞大。 | 中到低(内容分散,SEO 价值有限) | 视情况(可选) |
|
||||
| **目录页面** | 小说章节列表,汇总所有章节链接。 | 中(便于用户导航,SEO 价值中等) | 是 |
|
||||
|
||||
---
|
||||
|
||||
### 二、Sitemap 配置策略
|
||||
#### 1. 哪些 URL 应该包含?
|
||||
基于小说站点的特点,建议优先包含以下页面:
|
||||
|
||||
- **首页**:
|
||||
- 包含站点的唯一首页 URL(如 `https://www.example.com/`)。
|
||||
- 设置高优先级(如 `<priority>1.0</priority>`)和频繁更新(如 `<changefreq>daily</changefreq>`)。
|
||||
|
||||
- **分类列表(主页面)**:
|
||||
- 包含每个分类的主页面(如 `https://www.example.com/category/xuanhuan`)。
|
||||
- 排除分页 URL(如 `https://www.example.com/category/xuanhuan?page=2`),因为分页内容重复且 SEO 价值低。
|
||||
- 示例:玄幻、言情、历史等分类页面。
|
||||
|
||||
- **男生/女生频道**:
|
||||
- 包含频道主页(如 `https://www.example.com/male`、`https://www.example.com/female`)。
|
||||
- 如果频道下有子分类(如男生玄幻、女生穿越),也应包含。
|
||||
|
||||
- **排行榜(精选)**:
|
||||
- 包含主要排行榜页面(如 `https://www.example.com/rank/hot`、`https://www.example.com/rank/male`)。
|
||||
- 如果排行榜页面频繁更新(如每日排行),可设置 `<changefreq>daily</changefreq>`。
|
||||
- 排除次要或动态参数页面(如 `?sort=week`),避免重复内容。
|
||||
|
||||
- **详情页面**:
|
||||
- 包含所有小说详情页面(如 `https://www.example.com/book/123`)。
|
||||
- 这些页面是 SEO 的核心,吸引搜索流量(如用户搜索小说名)。
|
||||
- 使用 `<lastmod>` 反映小说更新时间,提示搜索引擎重新抓取。
|
||||
|
||||
- **目录页面**:
|
||||
- 包含每个小说的目录页面(如 `https://www.example.com/book/123/chapters`)。
|
||||
- 目录页面便于用户导航,且可能被搜索引擎索引为长尾关键词(如“小说名 章节列表”)。
|
||||
|
||||
- **章节页面(可选)**:
|
||||
- **不建议全部包含**:小说章节页面数量庞大(可能数十万到数百万),SEO 价值较低(用户很少通过搜索直接进入具体章节)。
|
||||
- **可选策略**:
|
||||
- 只包含最新章节(如最近 30 天的章节),吸引搜索引擎抓取更新内容。
|
||||
- 只包含热门小说的前几章(如前 10 章),作为引流入口。
|
||||
- 如果包含,设置较低优先级(如 `<priority>0.3</priority>`)。
|
||||
|
||||
#### 2. 哪些 URL 应该排除?
|
||||
- **分页 URL**:如分类列表的 `?page=2`,重复内容无 SEO 价值。
|
||||
- **动态参数 URL**:如 `?sort=latest` 或 `?utm_source=...`,应规范化到标准 URL。
|
||||
- **不可索引页面**:
|
||||
- 已设置 `<meta name="robots" content="noindex">` 的页面。
|
||||
- 被 `robots.txt` 屏蔽的页面(如 `Disallow: /user/`)。
|
||||
- **用户生成内容**:
|
||||
- 如评论页、用户个人中心、搜索结果页(`?q=keyword`)。
|
||||
- **临时页面**:
|
||||
- 如促销活动页、测试页面。
|
||||
- **错误页面**:如 404、500 页面。
|
||||
|
||||
---
|
||||
|
||||
### 三、处理大量 URL 的策略
|
||||
小说站点通常有大量 URL(尤其是章节页面),可能超过 Sitemap 的限制(50,000 条 URL 或 50MB)。以下是应对方法:
|
||||
|
||||
#### 1. 使用 Sitemap 索引文件
|
||||
- 将 URL 分组到多个子 Sitemap 文件(如 `sitemap-books.xml`、`sitemap-chapters.xml`),每文件不超过 50,000 条 URL。
|
||||
- 创建一个 Sitemap 索引文件(如 `sitemap_index.xml`)引用所有子 Sitemap。
|
||||
- 示例:
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<sitemap>
|
||||
<loc>https://www.example.com/sitemap-main.xml</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
</sitemap>
|
||||
<sitemap>
|
||||
<loc>https://www.example.com/sitemap-books.xml</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
</sitemap>
|
||||
<sitemap>
|
||||
<loc>https://www.example.com/sitemap-chapters.xml</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
</sitemap>
|
||||
</sitemapindex>
|
||||
```
|
||||
|
||||
#### 2. 分组策略
|
||||
- **按页面类型分组**:
|
||||
- `sitemap-main.xml`:首页、分类列表、排行榜、男生/女生频道。
|
||||
- `sitemap-books.xml`:小说详情页面和目录页面。
|
||||
- `sitemap-chapters.xml`:章节页面(如果包含)。
|
||||
- **按更新频率分组**:
|
||||
- 频繁更新的页面(如排行榜、最新章节)单独分组,设置 `<changefreq>daily</changefreq>`。
|
||||
- **按小说分组**:
|
||||
- 为每部小说生成单独的 Sitemap(如 `sitemap-book123.xml`),包含其详情页、目录页和部分章节页。
|
||||
|
||||
#### 3. 动态生成 Sitemap
|
||||
- **脚本生成**:
|
||||
- 使用 Python、PHP 等脚本从数据库查询 URL,生成 Sitemap 文件。
|
||||
- 示例(Python,参考前文):
|
||||
```python
|
||||
from lxml import etree
|
||||
import datetime
|
||||
|
||||
# 模拟数据库查询
|
||||
urls = [
|
||||
{'loc': 'https://www.example.com/', 'lastmod': '2025-04-21', 'changefreq': 'daily', 'priority': '1.0'},
|
||||
{'loc': 'https://www.example.com/book/123', 'lastmod': '2025-04-21', 'changefreq': 'weekly', 'priority': '0.8'},
|
||||
{'loc': 'https://www.example.com/book/123/chapters', 'lastmod': '2025-04-21', 'changefreq': 'weekly', 'priority': '0.6'},
|
||||
]
|
||||
|
||||
urlset = etree.Element("urlset", xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
|
||||
for url in urls:
|
||||
url_element = etree.SubElement(urlset, "url")
|
||||
loc = etree.SubElement(url_element, "loc")
|
||||
loc.text = url['loc']
|
||||
lastmod = etree.SubElement(url_element, "lastmod")
|
||||
lastmod.text = url['lastmod']
|
||||
changefreq = etree.SubElement(url_element, "changefreq")
|
||||
changefreq.text = url['changefreq']
|
||||
priority = etree.SubElement(url_element, "priority")
|
||||
priority.text = url['priority']
|
||||
|
||||
tree = etree.ElementTree(urlset)
|
||||
tree.write("sitemap-main.xml", pretty_print=True, xml_declaration=True, encoding="UTF-8")
|
||||
```
|
||||
|
||||
- **定时任务**:
|
||||
- 使用 cron 任务每天或每周生成 Sitemap,上传到根目录。
|
||||
- 示例(Linux cron):
|
||||
```bash
|
||||
0 2 * * * python3 /path/to/generate_sitemap.py
|
||||
```
|
||||
|
||||
- **触发式更新**:
|
||||
- 在小说更新(如新章节发布)时,触发脚本更新相关 Sitemap。
|
||||
|
||||
#### 4. 伪静态 Sitemap
|
||||
- 配置服务器将 `sitemap_index.xml` 等请求重定向到动态脚本,实时生成 XML 内容。
|
||||
- 示例(Apache + PHP,参考前文):
|
||||
```apache
|
||||
RewriteEngine On
|
||||
RewriteRule ^sitemap_index\.xml$ sitemap_index.php [L]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 四、robots.txt 配置
|
||||
在 `robots.txt` 中声明 Sitemap 索引文件,使用绝对路径:
|
||||
```txt
|
||||
User-agent: *
|
||||
Disallow: /user/
|
||||
Disallow: /search/
|
||||
Sitemap: https://www.example.com/sitemap_index.xml
|
||||
```
|
||||
|
||||
- 确保不通过 `Disallow` 屏蔽 Sitemap 文件。
|
||||
- 如果 Sitemap 托管在 CDN(如 `https://cdn.example.com/sitemap_index.xml`),在 `robots.txt` 中使用 CDN 地址,并验证所有权。
|
||||
|
||||
---
|
||||
|
||||
### 五、SEO 优化建议
|
||||
1. **优先级设置**:
|
||||
- 首页:`<priority>1.0</priority>`
|
||||
- 分类/频道/详情页:`<priority>0.8</priority>`
|
||||
- 目录页:`<priority>0.6</priority>`
|
||||
- 章节页(若包含):`<priority>0.3</priority>`
|
||||
|
||||
2. **更新频率**:
|
||||
- 首页、排行榜:`<changefreq>daily</changefreq>`
|
||||
- 分类/频道/详情/目录页:`<changefreq>weekly</changefreq>`
|
||||
- 章节页:`<changefreq>monthly</changefreq>`(或 `never` 如果不频繁更新)
|
||||
|
||||
3. **规范化 URL**:
|
||||
- 确保只包含规范 URL(如 `https://www.example.com/book/123` 而非 `http://example.com/book/123`)。
|
||||
- 使用 `<link rel="canonical">` 或 Sitemap 统一规范版本。
|
||||
|
||||
4. **避免重复内容**:
|
||||
- 排除带参数的 URL(如 `?sort=latest`)。
|
||||
- 如果男生/女生频道与分类列表有重复内容,选择主要入口包含在 Sitemap 中。
|
||||
|
||||
5. **图片 Sitemap(可选)**:
|
||||
- 为小说封面图片创建图片 Sitemap,优化图片搜索排名。
|
||||
- 示例:
|
||||
```xml
|
||||
<url>
|
||||
<loc>https://www.example.com/book/123</loc>
|
||||
<image:image>
|
||||
<image:loc>https://www.example.com/images/book123.jpg</image:loc>
|
||||
<image:title>小说封面</image:title>
|
||||
</image:image>
|
||||
</url>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 六、注意事项
|
||||
1. **章节页面数量庞大**:
|
||||
- 如果每部小说有数百章节,章节页面可能占主导。建议只包含最新或热门章节,或完全排除章节页面,依靠目录页面引导爬虫。
|
||||
2. **抓取预算**:
|
||||
- 小说站点 URL 数量多,需优化 Sitemap 避免浪费搜索引擎的抓取预算。
|
||||
3. **动态更新**:
|
||||
- 小说站点内容更新频繁(如新章节发布),建议动态生成 Sitemap 或频繁更新。
|
||||
4. **验证 Sitemap**:
|
||||
- 提交 `sitemap_index.xml` 到 Google Search Console、Bing Webmaster Tools,检查是否被正确解析。
|
||||
- 使用 GSC 的“索引覆盖率”报告,确认重要页面(如详情页)是否被索引。
|
||||
|
||||
---
|
||||
|
||||
### 七、示例 Sitemap 配置
|
||||
#### 索引文件(`sitemap_index.xml`)
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<sitemap>
|
||||
<loc>https://www.example.com/sitemap-main.xml</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
</sitemap>
|
||||
<sitemap>
|
||||
<loc>https://www.example.com/sitemap-books.xml</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
</sitemap>
|
||||
</sitemapindex>
|
||||
```
|
||||
|
||||
#### 主 Sitemap(`sitemap-main.xml`)
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://www.example.com/</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://www.example.com/category/xuanhuan</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://www.example.com/male</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://www.example.com/rank/hot</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
</urlset>
|
||||
```
|
||||
|
||||
#### 小说 Sitemap(`sitemap-books.xml`)
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://www.example.com/book/123</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://www.example.com/book/123/chapters</loc>
|
||||
<lastmod>2025-04-21</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.6</priority>
|
||||
</url>
|
||||
</urlset>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 八、结论
|
||||
- **不需包含所有 URL**:小说站点应优先包含首页、分类列表、男生/女生频道、排行榜、详情页面和目录页面。章节页面可根据需要部分包含或完全排除。
|
||||
- **精选策略**:重点包含 SEO 价值高的页面(如详情页),排除分页、动态参数、低价值页面。
|
||||
- **大型站点处理**:使用 Sitemap 索引文件和子 Sitemap,按页面类型分组,动态生成以应对大量 URL。
|
||||
- **SEO 优化**:设置合理的 `<priority>` 和 `<changefreq>`,定期更新 Sitemap,验证索引效果。
|
||||
|
||||
如果你需要针对小说站点的具体脚本(生成 Sitemap 或伪静态配置)、CMS 插件推荐,或其他细节(如图片 Sitemap、robots.txt 优化),请告诉我!
|
||||
3
code/app/home/view/videoDingZhu/sitemap/robots.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
User-agent: *
|
||||
Disallow:
|
||||
Sitemap: https://{$DomainModel->d_domain}/sitemap_index.xml
|
||||
@@ -0,0 +1,20 @@
|
||||
{novel:pagerexp page="$Request.get.page" limit="40000"
|
||||
sort_type="news"
|
||||
d_key="key"
|
||||
d_val="Novel"
|
||||
cache_life="86400" func="generateCategoryPager" export_name="resData" /}
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<!-- // 根据分页查询,按顺序 每页 50000个小说 -->
|
||||
|
||||
{foreach $resData.data as $key=>$Novel}
|
||||
<url>
|
||||
<loc>https://www.{$DomainModel->d_domain}{site:nclurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" order="zheng" page="1"/}</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
{/foreach}
|
||||
<!-- 最多 50,000 个 <url> 条目 -->
|
||||
</urlset>
|
||||
20
code/app/home/view/videoDingZhu/sitemap/sitemap-books.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
{novel:pagerexp page="$Request.get.page" limit="40000"
|
||||
sort_type="news"
|
||||
d_key="key"
|
||||
d_val="Novel"
|
||||
cache_life="86400" func="generateCategoryPager" export_name="resData" /}
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<!-- // 根据分页查询,按顺序 每页 50000个小说 -->
|
||||
|
||||
{foreach $resData.data as $key=>$Novel}
|
||||
<url>
|
||||
<loc>https://www.{$DomainModel->d_domain}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
{/foreach}
|
||||
|
||||
</urlset>
|
||||
18
code/app/home/view/videoDingZhu/sitemap/sitemap-chapters.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
{novel:pagerexp page="$Request.get.page" limit="40000"
|
||||
sort_type="news"
|
||||
d_key="key"
|
||||
d_val="Novel"
|
||||
cache_life="86400" func="generateCategoryPager" export_name="resData" /}
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
{foreach $resData.data as $key=>$Novel}
|
||||
<url>
|
||||
<loc>https://www.{$DomainModel->d_domain}{site:lcpurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.6</priority>
|
||||
</url>
|
||||
{/foreach}
|
||||
|
||||
</urlset>
|
||||
35
code/app/home/view/videoDingZhu/sitemap/sitemap-main.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://www.{$DomainModel->d_domain}/</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://www.{$DomainModel->d_domain}{$strRankUrlTemp}</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
|
||||
<!-- 分类 -->
|
||||
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
|
||||
<!-- 排序 -->
|
||||
{novel:sort d_key="sort_key" d_val="strSortName"}
|
||||
<!-- 状态 -->
|
||||
{novel:status d_key="status_key" d_val="strStatusName"}
|
||||
<url>
|
||||
<loc>https://www.{$DomainModel->d_domain}{site:nflurl category="$strCategoryPinyin" order="$sort_key" status="$status_key" /}</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
{/novel:status}
|
||||
{/novel:sort}
|
||||
{/novel:category}
|
||||
|
||||
|
||||
<!-- 注意 所有链接不要分页,有分页的取第一页即可 -->
|
||||
</urlset>
|
||||
39
code/app/home/view/videoDingZhu/sitemap/sitemap_index.xml
Normal file
@@ -0,0 +1,39 @@
|
||||
{novel:pagerexp page="1" limit="40000"
|
||||
sort_type="news"
|
||||
d_key="d_key"
|
||||
d_val="Novel"
|
||||
cache_life="86400" func="generateCategoryPager" export_name="resData" /}
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<sitemap>
|
||||
<loc>https://www.{$DomainModel->d_domain}/sitemap-main.xml</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
</sitemap>
|
||||
|
||||
<!--小说总数量/50000 得出 sitemap-books 一共有多少个 -->
|
||||
{for start="0" end="$resData.p_data.pages"}
|
||||
<sitemap>
|
||||
<loc>https://www.{$DomainModel->d_domain}/sitemap-books-{$i+1}.xml</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
</sitemap>
|
||||
{/for}
|
||||
|
||||
<!-- 小说总数量/50000 得出 sitemap-books-catalog一共有多少个,每个小说只取一个目录链接,分页不需要加入去 -->
|
||||
{for start="0" end="$resData.p_data.pages"}
|
||||
<sitemap>
|
||||
<loc>https://www.{$DomainModel->d_domain}/sitemap-books-catalog-{$i+1}.xml</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
</sitemap>
|
||||
{/for}
|
||||
|
||||
<!-- 小说章节取最新章节 -->
|
||||
{for start="0" end="$resData.p_data.pages"}
|
||||
<sitemap>
|
||||
<loc>https://www.{$DomainModel->d_domain}/sitemap-chapters-{$i+1}.xml</loc>
|
||||
<lastmod>{:date('Y-m-d')}</lastmod>
|
||||
</sitemap>
|
||||
{/for}
|
||||
|
||||
|
||||
</sitemapindex>
|
||||
109
code/app/home/view/videoDingZhu/user/getHistory.html
Normal file
@@ -0,0 +1,109 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{site:grm page_code="h5_video_search" diff="$Request.url" num="30" g_key="arrGrm" /}
|
||||
{/block}
|
||||
|
||||
{block name="title"}我的观看记录{/block}
|
||||
{block name="keywords"}我的观看记录{/block}
|
||||
{block name="description"}我的观看记录{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head"}
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head-css"}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="eb5be5 row">
|
||||
<div class="fb7647 col-xs-1 col-md-wide-75">
|
||||
<div class="eceb3c lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="b173ae lvshicms-panel-box clearfix">
|
||||
<div class="f66d8c lvshicms-panel_bd clearfix">
|
||||
<div class="bf9492 lvshicms-panel_hd">
|
||||
<div class="be8a1c lvshicms-panel__head bottom-line active clearfix">
|
||||
<h3 class="a1100b title"> 观看记录 </h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="d9e43b lvshicms-vodlist clearfix" id="historyContainer">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a51b92 hidden-xs hidden-sm col-md-wide-25">
|
||||
<div class="cc593d lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="dcb74d lvshicms-panel-box clearfix">
|
||||
<div class="dae8b0 lvshicms-panel_hd">
|
||||
<div class="d7bedc lvshicms-panel__head active bottom-line clearfix">
|
||||
<h3 class="f48698 title">周榜单 </h3>
|
||||
<a class="c502a3 more text-muted right bg" href="{$strRankUrlTemp}">更多 <i
|
||||
class="ed6c4f fa fa-angle-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a0c205 lvshicms-panel_bd">
|
||||
<ul class="f39a35 lvshicms-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="20"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="80"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
<script>
|
||||
const strVideoUrlTemp = `{site:replace code="VIDEO_INFO_URL"}`;
|
||||
const strVideoPlayUrlTemp = `{site:replace code="VIDEO_PLAY_URL"}`;
|
||||
const strSearchUrlTemp = `{site:replace code="VIDEO_SEARCH_LIST_URL"}`;
|
||||
// 调用展示书架功能
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const secondTemplate = `
|
||||
<li class="fc7a7d col-lg-[col-lg] col-md-4 col-sm-3 col-xs-2">
|
||||
<div class="a9a18d lvshicms-vodlist__box">
|
||||
<a class="d0ff14 lvshicms-vodlist__thumb lazyload lazyload-bg"
|
||||
href="{{videoUrl}}"
|
||||
title="{{videoName}}"
|
||||
data-src="{{videoPic}}"
|
||||
data-original="{{videoPic}}"
|
||||
style="background-image: url('{{videoPic}}');">
|
||||
<span class="c3b20e play hidden-xs"></span>
|
||||
<span class="bf637e pic-text text-right">{{videoRemarks}}</span>
|
||||
</a>
|
||||
<div class="dbbcf6 lvshicms-vodlist__detail">
|
||||
<h4 class="c9c8c4 title text-overflow">
|
||||
<a href="{{videoUrl}}" title="{{videoName}}">{{videoName}}</a>
|
||||
</h4>
|
||||
<p class="ed925a text text-overflow text-muted hidden-xs">描述:{{videoDescription}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
`;
|
||||
// 调用展示书架功能
|
||||
displayHistory(secondTemplate);
|
||||
})
|
||||
</script>
|
||||
{/block}
|
||||
270
code/app/home/view/videoDingZhu/video/getCategory.html
Normal file
@@ -0,0 +1,270 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:pagerexp page="$Request.get.page" limit="30" button_num="10" cache_life="86400"
|
||||
key="$Request.get.keyword"
|
||||
v_parent_category_en="$Request.route.strParentCategory"
|
||||
v_category_en="$Request.route.strCategory"
|
||||
v_lang_en="$Request.route.strLang"
|
||||
v_area_en="$Request.route.strArea"
|
||||
v_year="$Request.route.strYear"
|
||||
sort_type="$Request.route.strOrder"
|
||||
d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export_name="resData" /}
|
||||
|
||||
{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}" />
|
||||
{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": "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 parent_category="$Request.route.strParentCategory" /}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "分类列表",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vclurl parent_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>
|
||||
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
|
||||
|
||||
<div class="bac3b3 container" style="margin-top:10px;">
|
||||
|
||||
<h1 class="view-title">
|
||||
|
||||
{site:replace code="VIDEO@GETCATEGORY@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETCATEGORY@TEXT"}</h4>
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<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="$Request.route.strParentCategory" /}' itemprop="item">
|
||||
<span itemprop="name">{site:getval code="strVideoParentCategoryName" /}</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="$Request.route.strParentCategory" category="$Request.route.strCategory" area="all" lang="all" year="all" order="all" page="1"/}' itemprop="item">
|
||||
<span itemprop="name">{site:getval code="strVideoCategoryName" /}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="e0f35c row">
|
||||
<div class="c2b983 lvshicms-panel active lvshicms-panel-bg2 clearfix">
|
||||
<div class="d92ea8 lvshicms-panel-box clearfix">
|
||||
<div class="a06062 lvshicms-panel_hd">
|
||||
<div class="c9323c lvshicms-panel__head active bottom-line clearfix">
|
||||
<h2 class="eefa6f title"> {site:getval code="strVideoParentCategoryName" /} 筛选</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dd7517 lvshicms-panel_bd">
|
||||
<div class="f9514c slideDown-box">
|
||||
<ul class="c5e5dd lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="adc828 text-muted btn">分类</a> </li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li >
|
||||
<a href='{site:vclurl parent_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="c65506 btn {if $Request.route.strParentCategory == $val.v_category_en}btn-warm{/if}">
|
||||
{$val.v_category}
|
||||
</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
</ul>
|
||||
<ul class="d353e6 lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="af2d48 btn text-muted">剧情</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>
|
||||
<a class=" a618ce btn {if $Request.route.strCategory == $arrChildrenCategory.v_category_en}btn-warm{/if}"
|
||||
href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'>{$arrChildrenCategory.v_category}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{/video:categorytype}
|
||||
|
||||
</ul>
|
||||
<ul class="b03fb8 lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="aca9e5 btn text-muted">地区</a> </li>
|
||||
{video:area d_key="key" d_val="val"}
|
||||
<li >
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$key" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
class=" ae52d4 btn {if $Request.route.strArea == $key}btn-warm{/if}">{$val}</a>
|
||||
</li>
|
||||
{/video:area}
|
||||
</ul>
|
||||
<ul class="a383e9 lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="e49c5f btn text-muted">年份</a> </li>
|
||||
{video:year d_key="key" d_val="val"}
|
||||
<li >
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$key" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
class=" e230a5 btn {if $Request.route.strYear == $key}btn-warm{/if}">{$val}</a>
|
||||
</li>
|
||||
{/video:year}
|
||||
|
||||
</ul>
|
||||
|
||||
<ul class="a383e9 lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="e49c5f btn text-muted">语言</a> </li>
|
||||
{video:lang d_key="key" d_val="val"}
|
||||
|
||||
<li >
|
||||
<a href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$key" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
|
||||
class="c32026 btn {if $Request.route.strLang == $key}btn-warm{/if}">{$val}</a>
|
||||
</li>
|
||||
{/video:lang}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="d95c02 lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="d40281 btn text-muted">排序</a> </li>
|
||||
{video:sort d_key="key" d_val="val"}
|
||||
<li>
|
||||
<a class="c32026 btn {if $Request.route.strOrder == $key}btn-warm{/if}"
|
||||
href='{site:vclurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$key" page="$Request.route.intPage"}'>
|
||||
{$val}
|
||||
</a>
|
||||
</li>
|
||||
{/video:sort}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="aed4a1 lvshicms-panel active lvshicms-panel-bg clearfix">
|
||||
<div class="dbaf2a lvshicms-panel-box clearfix">
|
||||
<div class="e028a7 lvshicms-panel_bd">
|
||||
<ul class="c75497 lvshicms-vodlist clearfix">
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
{include file="public/video-list-shu" start="0" col-lg="6"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="ae5171 lvshicms-page text-center clearfix">
|
||||
{volist name="resData.p_data.pager" id="vo" key="k"}
|
||||
{switch $vo.label}
|
||||
{case value="上一页"}
|
||||
{if $resData.p_data.page == 1}
|
||||
<li class="disabled"><span>上一页</span></li>
|
||||
{else}
|
||||
<li><a href="{$vo.url}">1</a></li>
|
||||
{/if}
|
||||
{/case}
|
||||
{case value="下一页"}
|
||||
{if $resData.p_data.page >= $resData.p_data.total}
|
||||
<li class="disabled"><span>下一页</span></li>
|
||||
{else}
|
||||
<li><a href="{$vo.url}">下一页</a></li>
|
||||
{/if}
|
||||
{/case}
|
||||
{default /}
|
||||
{if preg_match('/^\d+$/', $vo.label)}
|
||||
<li >
|
||||
<a href="{$vo.url}" class='cc4f99 btn {eq name="vo.label" value="$Request.route.intPage"}btn-warm {/eq} btn-default '>{$vo.label}</a>
|
||||
</li>
|
||||
{/if}
|
||||
{/switch}
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
194
code/app/home/view/videoDingZhu/video/getCategoryType.html
Normal file
@@ -0,0 +1,194 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{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}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETCATEGORYINDEX@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETCATEGORYINDEX@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<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}" />
|
||||
{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": "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": [
|
||||
{video:ranklist count="5"
|
||||
v_parent_category_en="$Request.route.strParentCategory"
|
||||
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}{site:vciurl parent_category="$Request.route.strParentCategory" /}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-css"}{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
{block name="main"}
|
||||
|
||||
<div class="bc22cc container">
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETCATEGORYINDEX@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETCATEGORYINDEX@TEXT"}</h4>
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<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="$Request.route.strParentCategory" /}' itemprop="item">
|
||||
<span itemprop="name">{site:getval code="strVideoParentCategoryName" /}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
{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="eb5be5 row">
|
||||
<div class="fb7647 col-xs-1 col-md-wide-75">
|
||||
<div class="eceb3c lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="b173ae lvshicms-panel-box clearfix">
|
||||
<div class="f66d8c lvshicms-panel_bd clearfix">
|
||||
<div class="bf9492 lvshicms-panel_hd">
|
||||
<div class="be8a1c lvshicms-panel__head bottom-line active clearfix">
|
||||
<h2 class="a1100b title"> 最新{$arrChildrenCategory.v_category} </h2>
|
||||
<a class="ec883e more text-muted right bg"
|
||||
href='{site:vclurl parent_category="$val.v_category_en" category="all" area="all" lang="all" year="all" order="all" page="1"/}'>更多
|
||||
<i class="fbbd96 fa fa-angle-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="d9e43b lvshicms-vodlist clearfix">
|
||||
{video:list count="8"
|
||||
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="27" col-lg="4"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a51b92 hidden-xs hidden-sm col-md-wide-25">
|
||||
<div class="cc593d lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="dcb74d lvshicms-panel-box clearfix">
|
||||
<div class="dae8b0 lvshicms-panel_hd">
|
||||
<div class="d7bedc lvshicms-panel__head active bottom-line clearfix">
|
||||
<h2 class="f48698 title"> {$arrChildrenCategory.v_category}周榜单 </h2>
|
||||
<a class="c502a3 more text-muted right bg" href="{$strRankUrlTemp}">更多 <i
|
||||
class="ed6c4f fa fa-angle-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a0c205 lvshicms-panel_bd">
|
||||
<ul class="f39a35 lvshicms-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="17"
|
||||
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="80"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{/video:categorytype}
|
||||
|
||||
|
||||
</div>
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
230
code/app/home/view/videoDingZhu/video/getRankIndex.html
Normal file
@@ -0,0 +1,230 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{site:grm page_code="h5_rank_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
|
||||
{/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@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": "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 < 10 }
|
||||
{
|
||||
"@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"}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name='body-class'}rank-index{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEORANKINDEX@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANKINDEX@TEXT"}</h4>
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<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='{$strRankUrlTemp}' itemprop="item">
|
||||
<span itemprop="name">排行榜</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="e0f35c row">
|
||||
<div class="c2b983 lvshicms-panel active lvshicms-panel-bg2 clearfix">
|
||||
<div class="d92ea8 lvshicms-panel-box clearfix">
|
||||
<div class="a06062 lvshicms-panel_hd">
|
||||
<div class="c9323c lvshicms-panel__head active bottom-line clearfix">
|
||||
<h2 class="eefa6f title"> 排行榜 筛选</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dd7517 lvshicms-panel_bd">
|
||||
<div class="f9514c slideDown-box">
|
||||
<ul class="c5e5dd lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="adc828 text-muted btn">分类</a> </li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li>
|
||||
<a href='{site:vrlurl parent_category="$val.v_category_en" category="all" sort_type="daily" page="1"/}'
|
||||
class="c65506 btn {if $Request.route.strParentCategory == $val.v_category_en}btn-warm{/if}">
|
||||
{$val.v_category}
|
||||
</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="e489dd container">
|
||||
<div class="a1ce09 row">
|
||||
|
||||
{video:ranksort d_key="key" d_val="val"}
|
||||
|
||||
|
||||
|
||||
<div class="fe3214 col-lg-3 col-md-4 col-sm-2 col-xs-1">
|
||||
<div class="ccba9b lvshicms-panel-bg2 col-pd radius-4 clearfix">
|
||||
<div class="fd0689 lvshicms-panel_hd">
|
||||
<div class="e58f0e lvshicms-panel__head bottom-line active clearfix text-overflow">
|
||||
<h2 class="d653d5 title"> {$val}排行榜 </h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ce0ed8 lvshicms-panel_bd clearfix">
|
||||
<ul class="da258b lvshicms-vodlist__media col-pd clearfix">
|
||||
{video:ranklist count="10"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
<?php $key ++ ;?>
|
||||
|
||||
{if $key < 4} <li>
|
||||
<div class="a45a81 thumb">
|
||||
<a class="b7fde8 lvshicms-vodlist__thumb img-xs-70"
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
title="{$Video.v_name} ">
|
||||
<img class="lazyload-img" src="/static/img/load.png"
|
||||
data-src="{$Video.v_pic ?? ''}"
|
||||
alt="{$Video.v_name ?? ''} - {$Video.v_parent_category ?? ''}{$Video.v_category ?? ''}免费高清电影在线观看">
|
||||
<span class='fa73de badge
|
||||
{eq name="$key" value="1"}badge-first {/eq}
|
||||
{eq name="$key" value="2"}badge-second {/eq}
|
||||
{eq name="$key" value="3"}badge-third {/eq}'>
|
||||
{$key}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="b6dc66 detail detail-side">
|
||||
<h3 class="c58a4d title"><a
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'><i
|
||||
class="bc63b3 fa fa-angle-right text-muted pull-right"></i> {$Video.v_name}
|
||||
</a>
|
||||
</h3>
|
||||
<p class="e3349d font-12"><span class="e2d8fb text-muted">类型:</span>{$Video.v_category},<span
|
||||
class="cd23c6 text-muted">地区:</span>{volist name='$Video.v_area' id='vo' key='index'}
|
||||
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist}</p>
|
||||
<p class="a70415 font-12 margin-0"><span
|
||||
class="cf514a text-muted">主演:</span>{volist name='$Video.v_actor' id='vo' key='index'}
|
||||
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist},</p>
|
||||
</div>
|
||||
</li>
|
||||
{/if}
|
||||
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
<ul class="a33a7f lvshicms-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="10"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
<?php $key ++ ;?>
|
||||
|
||||
{if $key > 3}
|
||||
|
||||
<li class="c11eab top-line"> <a href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
title="{$Video.v_name}"> <span class="d507d5 badge">{$key}</span>{$Video.v_name}
|
||||
</a> </li>
|
||||
{/if}
|
||||
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/video:ranksort}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
200
code/app/home/view/videoDingZhu/video/getRankList.html
Normal file
@@ -0,0 +1,200 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{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" 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@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@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="video.movie" />
|
||||
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
[
|
||||
{
|
||||
"@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 < 10 }
|
||||
{
|
||||
"@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}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "{site:getval code="strVideoParentCategoryName" /}{site:getval code="strVideoCategoryName" /}{site:getval code="strOrderName" /}排行榜",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vrlurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" sort_type="$Request.route.strSortType" page="1"/}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-css"}
|
||||
{/block}
|
||||
{block name="head-js"}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
|
||||
<div class="bac3b3 container" style="margin-top:10px;">
|
||||
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEORANKLIST@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANKLIST@TEXT"}</h4>
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<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='{$strRankUrlTemp}' itemprop="item">
|
||||
<span itemprop="name">排行榜</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" sort_type="$Request.route.strSortType" page="1"/}' itemprop="item">
|
||||
<span itemprop="name">{site:getval code="strVideoParentCategoryName" /}{site:getval code="strVideoCategoryName" /}{site:getval code="strOrderName" /}排行榜</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="e0f35c row">
|
||||
<div class="c2b983 lvshicms-panel active lvshicms-panel-bg2 clearfix">
|
||||
<div class="d92ea8 lvshicms-panel-box clearfix">
|
||||
<div class="a06062 lvshicms-panel_hd">
|
||||
<div class="c9323c lvshicms-panel__head active bottom-line clearfix">
|
||||
<h2 class="eefa6f title"> {site:getval code="strVideoParentCategoryName" /}排行榜 </h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dd7517 lvshicms-panel_bd">
|
||||
<div class="f9514c slideDown-box">
|
||||
<ul class="c5e5dd lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="adc828 text-muted btn">分类</a> </li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li >
|
||||
<a href='{site:vrlurl parent_category="$val.v_category_en" category="all" sort_type="$Request.route.strSortType" page="1"/}'
|
||||
class="c65506 btn {if $Request.route.strParentCategory == $val.v_category_en}btn-warm{/if}">
|
||||
{$val.v_category}
|
||||
</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
</ul>
|
||||
<ul class="d353e6 lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="af2d48 btn text-muted">剧情</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>
|
||||
<a class=" a618ce btn {if $Request.route.strCategory == $arrChildrenCategory.v_category_en}btn-warm{/if}"
|
||||
href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" sort_type="$Request.route.strSortType" page="1"/}'>{$arrChildrenCategory.v_category}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{/video:categorytype}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="d95c02 lvshicms-screen__list clearfix" data-align="left">
|
||||
<li> <a class="d40281 btn text-muted">排序</a> </li>
|
||||
{video:ranksort d_key="key" d_val="val"}
|
||||
<li class="{if $Request.route.strSortType == $key}btn-warm{/if}">
|
||||
<a href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" sort_type="$key" page="1"/}'>
|
||||
{$val}排行榜
|
||||
</a>
|
||||
</li>
|
||||
{/video:ranksort}
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="aed4a1 lvshicms-panel active lvshicms-panel-bg clearfix">
|
||||
<div class="dbaf2a lvshicms-panel-box clearfix">
|
||||
<div class="e028a7 lvshicms-panel_bd">
|
||||
<ul class="c75497 lvshicms-vodlist clearfix">
|
||||
{foreach $arrVideoRankList as $key=>$Video}
|
||||
{include file="public/video-list-shu" start="0" col-lg="6"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
199
code/app/home/view/videoDingZhu/video/getSearchVideo.html
Normal file
@@ -0,0 +1,199 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{video:pagerexp page="$Request.get.page" limit="12"
|
||||
key="$Request.get.keyword"
|
||||
d_key="d_key"
|
||||
d_val="Video"
|
||||
p_val="page_data" button_num="5" cache_life="86400" func="generateSearchPager" export_name="resData" /}
|
||||
{site:grm page_code="h5_video_search" diff="$Request.url" num="30" g_key="arrGrm" /}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETSEARCHVIDEO@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETSEARCHVIDEO@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}{/block}
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<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='{$DomainModel->d_name}'>
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<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">
|
||||
[
|
||||
{
|
||||
"@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>
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head-css"}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETSEARCHVIDEO@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETSEARCHVIDEO@TEXT"}</h4>
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<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:vsurl key="$Request.get.keyword" p="1"/}' itemprop="item">
|
||||
<span itemprop="name">搜索:{$Request.get.keyword}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="eb5be5 row">
|
||||
<div class="fb7647 col-xs-1 col-md-wide-75">
|
||||
<div class="eceb3c lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="b173ae lvshicms-panel-box clearfix">
|
||||
<div class="f66d8c lvshicms-panel_bd clearfix">
|
||||
<div class="bf9492 lvshicms-panel_hd">
|
||||
<div class="be8a1c lvshicms-panel__head bottom-line active clearfix">
|
||||
<h2 class="a1100b title"> 搜索<span style="color:red">“{$Request.get.keyword}”</span>相关结果共有 <span style="color:red">{$resData.p_data.total}</span> 部视频 </h2>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="d9e43b lvshicms-vodlist clearfix">
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
|
||||
{include file="public/video-list-shu" start="27" col-lg="4"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a51b92 hidden-xs hidden-sm col-md-wide-25">
|
||||
<div class="cc593d lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="dcb74d lvshicms-panel-box clearfix">
|
||||
<div class="dae8b0 lvshicms-panel_hd">
|
||||
<div class="d7bedc lvshicms-panel__head active bottom-line clearfix">
|
||||
<h3 class="f48698 title">周榜单 </h3>
|
||||
<a class="c502a3 more text-muted right bg" href="{$strRankUrlTemp}">更多 <i
|
||||
class="ed6c4f fa fa-angle-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="a0c205 lvshicms-panel_bd">
|
||||
<ul class="f39a35 lvshicms-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="20"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="80"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="ae5171 lvshicms-page text-center clearfix">
|
||||
{volist name="resData.p_data.pager" id="vo" key="k"}
|
||||
{switch $vo.label}
|
||||
{case value="上一页"}
|
||||
{if $resData.p_data.page == 1}
|
||||
<li class="disabled"><span>上一页</span></li>
|
||||
{else}
|
||||
<li><a href="{$vo.url}">1</a></li>
|
||||
{/if}
|
||||
{/case}
|
||||
{case value="下一页"}
|
||||
{if $resData.p_data.page >= $resData.p_data.total}
|
||||
<li class="disabled"><span>下一页</span></li>
|
||||
{else}
|
||||
<li><a href="{$vo.url}">下一页</a></li>
|
||||
{/if}
|
||||
{/case}
|
||||
{default /}
|
||||
{if preg_match('/^\d+$/', $vo.label)}
|
||||
<li >
|
||||
<a href="{$vo.url}" class='cc4f99 btn {eq name="vo.label" value="$Request.route.intPage"}btn-warm {/eq} btn-default '>{$vo.label}</a>
|
||||
</li>
|
||||
{/if}
|
||||
{/switch}
|
||||
{/volist}
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
384
code/app/home/view/videoDingZhu/video/getVideoInfo.html
Normal file
@@ -0,0 +1,384 @@
|
||||
{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="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="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="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="main"}
|
||||
|
||||
|
||||
|
||||
<div class="a971eb lvshicms-container-bg detail-info-box" style="margin-top:-20px;">
|
||||
|
||||
|
||||
<div class="f969ad container">
|
||||
<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>
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li style="margin-right:10px"><label><i class="baf725 fa fa-map-marker"></i></label></li>
|
||||
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:vciurl parent_category="$arrVideo.v_parent_category_en" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrVideo.v_parent_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:vclurl parent_category="$arrVideo.v_parent_category_en" category="$arrVideo.v_parent_category_en" area="all" lang="all" year="all" order="all" page="1"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrVideo.v_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrVideo.v_name}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="4" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="fc40de row">
|
||||
<div class="f147ce lvshicms-panel margin-0 clearfix">
|
||||
<div class="a193f5 lvshicms-panel-box clearfix">
|
||||
<div class="dea615 col-xs-1 detail-box">
|
||||
<div class="b97972 lvshicms-content__thumb">
|
||||
<a class="f2880b lvshicms-vodlist__thumb video-info-lvshicms-vodlist__thumb picture" href="/product/90860-1-1.html"
|
||||
title="{$arrVideo.v_name}">
|
||||
<img class="f20604 lazyload" src="{$arrVideo.v_pic}">
|
||||
<span class="c5512d detail-icon play"></span>
|
||||
<span class="a555ce pic-text text-right">已完结</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="eecb94 lvshicms-content__detail">
|
||||
<h1 class="edfc9f title">{$arrVideo.v_name}</h1>
|
||||
<p class="fe7a76 data"><span class="dcb052 text-muted">主演:</span>
|
||||
{volist name='$arrVideo.v_actor' id='vo' key='index'}
|
||||
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist}
|
||||
</p>
|
||||
<p class="d53452 data"><span class="a0dae5 text-muted">导演:</span>
|
||||
{volist name='$arrVideo.v_director' id='vo' key='index'}
|
||||
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist}
|
||||
</p>
|
||||
<p class="bb52e4 data">
|
||||
<span class="ed25a2 text-muted">分类:</span>
|
||||
<a
|
||||
href='{site:vsurl key="$arrVideo.v_parent_category" p="1"/}'>{$arrVideo.v_parent_category}</a>
|
||||
</p>
|
||||
<p class="bb52e4 data">
|
||||
<span class="ed25a2 text-muted">类型:</span>
|
||||
<a href='{site:vsurl key="$arrVideo.v_category" p="1"/}'>{$arrVideo.v_category}</a>
|
||||
</p>
|
||||
<p class="d994f6 data">
|
||||
<span class="d8c8c2 text-muted">地区:</span>
|
||||
{volist name='$arrVideo.v_area' id='vo' key='index'}
|
||||
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist}
|
||||
</p>
|
||||
<p class="e027e7 data"><span class="ca5df1 text-muted">更新:</span>{$arrVideo.v_publish_date}
|
||||
</p>
|
||||
|
||||
<div class="ca86f6 detail-info-btn">
|
||||
<li>
|
||||
<a class="c82c25 btn btn-warm"
|
||||
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
|
||||
<i class="b6a199 fa fa-play"></i>
|
||||
立即播放
|
||||
</a>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="b949ce container">
|
||||
<div class="d4cf89 row">
|
||||
<div class="f608c5 col-xs-1 col-md-wide-75">
|
||||
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
|
||||
<div class="cfd65a lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="b3a7e3 lvshicms-panel-box clearfix">
|
||||
<div class="e8c33d lvshicms-panel_hd">
|
||||
<div class="f238a4 lvshicms-panel__head bottom-line active clearfix">
|
||||
|
||||
<h3 class="d82c55 title"> {$strPlayGroupName} </h3>
|
||||
<span class="ace011 more text-muted"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="af83ff lvshicms-panel_bd clearfix">
|
||||
<ul class="ec7fc4 lvshicms-content__list sort-list clearfix">
|
||||
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
|
||||
<li class="fe7195 col-lg-6 col-md-5 col-sm-4 col-xs-3">
|
||||
<a class="bd8e2d btn btn-default"
|
||||
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$i" /}'>{$arrPlayUrl.name}
|
||||
</a>
|
||||
</li>
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
|
||||
<div class="fbb509 lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="de59fa lvshicms-panel-box clearfix">
|
||||
<div class="c42a28 lvshicms-panel_hd">
|
||||
<div class="bb7fba lvshicms-panel__head clearfix">
|
||||
<h3 class="f3d3f6 title">剧情介绍</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="f42eb6 lvshicms-panel_bd">
|
||||
<ul class="fee9ad lvshicms-vod-content col-pd clearfix">
|
||||
<li class="ba9e50 col-pd">
|
||||
<div class="d154e9 shrink-box shrinked">
|
||||
<div class="acf872 shrink-text">
|
||||
{$arrVideo.v_description|raw}</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="cf2f0c lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="c47e1e lvshicms-panel-box clearfix">
|
||||
<div class="e83124 lvshicms-panel_hd">
|
||||
<div class="afb3ca lvshicms-panel__head bottom-line active clearfix">
|
||||
<h3 class="d3b7c4 title">同类型</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d5b99f lvshicms-panel_bd">
|
||||
<ul class="bc7e71 lvshicms-vodlist__bd clearfix">
|
||||
{video:list count="12"
|
||||
v_category_en="$arrVideo.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" start="0" col-lg="4"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d6bc14 lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="e81862 lvshicms-panel-box clearfix">
|
||||
<div class="fcdb67 lvshicms-panel_hd">
|
||||
<div class="b6114e lvshicms-panel__head bottom-line active clearfix">
|
||||
<h3 class="ae5ab2 title">猜你喜欢</h3>
|
||||
<span class="fdf3d7 text-muted more pull-right"><a rel="nofollow" href="/case/tv.html">更多 <i
|
||||
class="f36af8 fa fa-angle-right"></i></a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b29ef1 lvshicms-panel_bd">
|
||||
<ul class="d95dd8 lvshicms-vodlist__bd clearfix">
|
||||
{video:list count="12"
|
||||
v_category_en="$arrVideo.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" start="0" col-lg="4"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="e1d6ee hidden-xs hidden-sm col-md-wide-25">
|
||||
<div class="cad2e9 lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="c161d4 lvshicms-panel-box clearfix">
|
||||
<div class="b068f7 lvshicms-panel_hd">
|
||||
<div class="cb5cbd lvshicms-panel__head bottom-line active clearfix">
|
||||
<h3 class="b12e07 title">热播{$arrVideo.v_parent_category}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cf4a36 lvshicms-panel_bd clearfix">
|
||||
<ul class="f9a6ab lvshicms-vodlist__text col-pd clearfix">
|
||||
{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="25"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</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']}`,
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
{block name="customize"} {/block}
|
||||
411
code/app/home/view/videoDingZhu/video/getVideoPlayUrl.html
Normal file
@@ -0,0 +1,411 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:info v_id="$Request.route.intVId" v_key="arrVideo" /}
|
||||
{site:grm page_code="h5_video_info" diff="$arrVideo.v_id" num="120" g_key="arrGrm" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@TITLE" diff="$Request.route.intVId" /}
|
||||
{/block}
|
||||
|
||||
{block name="keywords"}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@KEYWORDS" diff="$Request.route.intVId"}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@DESCRIPTION" diff="$Request.route.intVId"}
|
||||
{/block}
|
||||
|
||||
{block name="head"}
|
||||
|
||||
{// Open Graph 协议(用于Facebook、LinkedIn等)}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
|
||||
{switch $arrVideo.v_parent_category_en }
|
||||
{case 'dian-ying' }
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/case}
|
||||
{case 'dian-shi-ju' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'zong-yi' }
|
||||
<meta property="og:type" content="video.tv_show" />
|
||||
{/case}
|
||||
{case 'dong-man' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'duan-ju-da-quan' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{default /}
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/switch}
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'>
|
||||
<meta property="og:image" content="{$arrVideo.v_pic}">
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}">
|
||||
<meta property="og:video:type" content="video/m3u8">
|
||||
|
||||
{// Twitter Card(用于Twitter/X)}
|
||||
<meta name="twitter:card" content="player">
|
||||
<meta name="twitter:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
|
||||
<meta name="twitter:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
|
||||
<meta name="twitter:image" content="{$arrVideo.v_pic}">
|
||||
|
||||
{// 结构化数据}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": "{$arrVideo.v_name}",
|
||||
"description": "{$arrVideo.v_description}",
|
||||
"thumbnailUrl": "{$arrVideo.v_pic}",
|
||||
"uploadDate": "{:date('Y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}',
|
||||
|
||||
"inLanguage": [
|
||||
{volist name='$arrVideo.v_lang' id='strVideoLang' key='index'}
|
||||
"{$strVideoLang}",
|
||||
{/volist}
|
||||
],
|
||||
"contentLocation": [
|
||||
{volist name='$arrVideo.v_area' id='strVideoArea' key='index'}
|
||||
{
|
||||
"@type": "Place",
|
||||
"name": "{$strVideoArea}"
|
||||
},
|
||||
{/volist}
|
||||
],
|
||||
|
||||
"director": [
|
||||
{volist name='$arrVideo.v_director' id='strVideoDirector' key='index'}
|
||||
{
|
||||
"@type": "Person",
|
||||
"name": "{$strVideoDirector}"
|
||||
}
|
||||
{/volist}
|
||||
],
|
||||
"actor": [
|
||||
{volist name='$arrVideo.v_actor' id='strVideoActor' key='index'}
|
||||
{
|
||||
"@type": "Person",
|
||||
"name": "{$strVideoActor}"
|
||||
},
|
||||
{/volist}
|
||||
],
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "{$arrVideo.v_score}",
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="head-css"}
|
||||
<link rel="stylesheet" href="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.24.0/DPlayer.min.css">
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
{/block}
|
||||
|
||||
|
||||
{block name='body-class'}video-play-page{/block}
|
||||
|
||||
{block name="main"}
|
||||
|
||||
|
||||
<div class="aaf99d lvshicms-container-bg padding-0" style="margin-top:-20px;">
|
||||
<div class="bab1b0 container" style="z-index: 0;">
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEOPLAY@TEXT"}</h4>
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li style="margin-right:10px"><label><i class="baf725 fa fa-map-marker"></i></label></li>
|
||||
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:vciurl parent_category="$arrVideo.v_parent_category_en" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrVideo.v_parent_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:vclurl parent_category="$arrVideo.v_parent_category_en" category="$arrVideo.v_parent_category_en" area="all" lang="all" year="all" order="all" page="1"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrVideo.v_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrVideo.v_name}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="4" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="e35b87 player-wrapper clearfix" style="z-index: 999;">
|
||||
<div class="e1110d lvshicms-player__item clearfix" style="background-color: #27272f;">
|
||||
<div class="a7ffc5 relative clearfix" id="player-left">
|
||||
|
||||
<div class="ef235b lvshicms-player__box player-fixed">
|
||||
<div class="a705ec tips close-box" style="background-color: #181515;">
|
||||
<a
|
||||
class="e221a5 tips-close-btn pull-right" href="javascript:;">
|
||||
<i class="ae97e1 fa fa-close"></i>
|
||||
</a>
|
||||
<ul>
|
||||
<li>正在播放:{$arrVideo.v_name}-第{$Request.route.intPlayIndex}集</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="dplayer-prent">
|
||||
<div id="dplayer" class="dplayer" muted=“muted” style="margin-top: 5px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<ul class="e46e57 lvshicms-player__operate" style="background-color: #1b1a25;">
|
||||
<li> <a href="javascript:;" onclick="window.location.reload()"><i
|
||||
class="a330ca fa fa-spinner"></i> 刷新</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="f4aa4c digg_link" data-id="90860" data-mid="1" data-type="up"
|
||||
href="javascript:;">
|
||||
<i class="ce7b63 fa fa-thumbs-up"></i>
|
||||
<span nclass="d712b9 digg_num">{$arrVideo.v_score}</spanclass=>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="c8cbc0 digg_link" data-id="90860" data-mid="1" data-type="down"
|
||||
href="javascript:;">
|
||||
<i class="d7a73d fa fa-thumbs-down"></i>
|
||||
<span class="f60cfa digg_num">{$arrVideo.vc_clicks ?? 0}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<!-- <li class="b269de playshare dropdown-hover"> <a href="javascript:;"><i
|
||||
class="a5a6c4 fa fa-share font14"></i> 分享</a>
|
||||
<div class="be59cf dropdown-box bottom fadeInDown clearfix">
|
||||
<div class="ed9be4 item text-center" style="width: 260px;">
|
||||
<div class="ad10df col-pd">
|
||||
<p>复制下方内容粘贴给好友</p>
|
||||
<p><textarea class="fe45d5 form-control content"
|
||||
rows="4">我正在观看毕打职场笑传第01集,地址:https://www.dingzhu.net/product/90860-1-1.html</textarea>
|
||||
</p>
|
||||
<a class="ec0315 btn btn-xs btn-primary lvshicms-copy-html"
|
||||
href="javascript:;">复制到剪贴板</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li> -->
|
||||
|
||||
<!-- <li><a class="bbdb18 disabled" href=""><i class="b1d47a fa fa-caret-up"></i> 上集</a></li>
|
||||
<li><a href="/product/90860-1-2.html"><i class="f38fad fa fa-caret-down"></i> 下集</a></li> -->
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="f49486 container">
|
||||
<div class="f41398 row">
|
||||
<div class="f30a1c col-xs-1">
|
||||
<div class="ae33f8 lvshicms-player__data hidden-sm hidden-xs clearfix">
|
||||
<div class="d368e1 col-pd">
|
||||
<h3> {$arrVideo.v_name} <small class="e85030 text-muted">第{$Request.route.intPlayIndex}集</small> </h3>
|
||||
<p class="e82edf text-muted margin-0"> {$arrVideo.v_publish_date}更新 / <span class="c8b71b text-red">{$arrVideo.v_score}分</span> /
|
||||
{$arrVideo.v_parent_category} /
|
||||
{volist name='$arrVideo.v_area' id='vo' key='index'}
|
||||
<a href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist}
|
||||
/
|
||||
{$arrVideo.v_year} </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="b949ce container">
|
||||
<div class="d4cf89 row">
|
||||
<div class="f608c5 col-xs-1 col-md-wide-75">
|
||||
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
|
||||
<div class="cfd65a lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="b3a7e3 lvshicms-panel-box clearfix">
|
||||
<div class="e8c33d lvshicms-panel_hd">
|
||||
<div class="f238a4 lvshicms-panel__head bottom-line active clearfix">
|
||||
|
||||
<h3 class="d82c55 title"> {$strPlayGroupName} </h3>
|
||||
<span class="ace011 more text-muted"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="af83ff lvshicms-panel_bd clearfix">
|
||||
<ul class="ec7fc4 lvshicms-content__list sort-list clearfix">
|
||||
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
|
||||
<li class="fe7195 col-lg-6 col-md-5 col-sm-4 col-xs-3">
|
||||
<a class="bd8e2d btn btn-default"
|
||||
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$i" /}'>{$arrPlayUrl.name}
|
||||
</a>
|
||||
</li>
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
|
||||
<div class="fbb509 lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="de59fa lvshicms-panel-box clearfix">
|
||||
<div class="c42a28 lvshicms-panel_hd">
|
||||
<div class="bb7fba lvshicms-panel__head clearfix">
|
||||
<h3 class="f3d3f6 title">剧情介绍</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="f42eb6 lvshicms-panel_bd">
|
||||
<ul class="fee9ad lvshicms-vod-content col-pd clearfix">
|
||||
<li class="ba9e50 col-pd">
|
||||
<div class="d154e9 shrink-box shrinked">
|
||||
<div class="acf872 shrink-text">
|
||||
{$arrVideo.v_description|raw}</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="cf2f0c lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="c47e1e lvshicms-panel-box clearfix">
|
||||
<div class="e83124 lvshicms-panel_hd">
|
||||
<div class="afb3ca lvshicms-panel__head bottom-line active clearfix">
|
||||
<h3 class="d3b7c4 title">同类型</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d5b99f lvshicms-panel_bd">
|
||||
<ul class="bc7e71 lvshicms-vodlist__bd clearfix">
|
||||
{video:list count="12"
|
||||
v_category_en="$arrVideo.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" start="0" col-lg="4"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d6bc14 lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="e81862 lvshicms-panel-box clearfix">
|
||||
<div class="fcdb67 lvshicms-panel_hd">
|
||||
<div class="b6114e lvshicms-panel__head bottom-line active clearfix">
|
||||
<h3 class="ae5ab2 title">猜你喜欢</h3>
|
||||
<span class="fdf3d7 text-muted more pull-right"><a rel="nofollow" href="/case/tv.html">更多 <i
|
||||
class="f36af8 fa fa-angle-right"></i></a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b29ef1 lvshicms-panel_bd">
|
||||
<ul class="d95dd8 lvshicms-vodlist__bd clearfix">
|
||||
{video:list count="12"
|
||||
v_category_en="$arrVideo.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" start="0" col-lg="4"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="e1d6ee hidden-xs hidden-sm col-md-wide-25">
|
||||
<div class="cad2e9 lvshicms-panel lvshicms-panel-bg clearfix">
|
||||
<div class="c161d4 lvshicms-panel-box clearfix">
|
||||
<div class="b068f7 lvshicms-panel_hd">
|
||||
<div class="cb5cbd lvshicms-panel__head bottom-line active clearfix">
|
||||
<h3 class="b12e07 title">热播{$arrVideo.v_parent_category}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cf4a36 lvshicms-panel_bd clearfix">
|
||||
<ul class="f9a6ab lvshicms-vodlist__text col-pd clearfix">
|
||||
{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="25"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</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']}`,
|
||||
|
||||
};
|
||||
var intPlayUrlIndex = '{$Request.route.intPlayIndex}'
|
||||
var strPlayType = '{$Request.route.strPlayType}'
|
||||
var intJumpTimeFirst = 1;
|
||||
var intJumpTimeTwoStart = 1;
|
||||
var intJumpTimeTwoEnd = 1;
|
||||
var arrPlayUrl = {$arrVideo.v_play_url | json_encode | raw};
|
||||
var strPlayUrl = ""
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="footer-js"}
|
||||
|
||||
<script type="text/javascript"
|
||||
src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/hls.js/1.1.5-0.canary.8257/hls.min.js" defer></script>
|
||||
<script type="text/javascript" src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.26.0/DPlayer.min.js"
|
||||
defer></script>
|
||||
|
||||
|
||||
{/block}
|
||||
292
code/app/home/view/videoDingZhu/推广优化记录/首页/上先前ai排查.md
Normal file
@@ -0,0 +1,292 @@
|
||||
以下是对提供的视频站点首页(`video2.com`)SEO优化的分析和建议,重点针对中国大陆的浏览搜索排名(如百度),结合同行影视站点的常见优化策略,确保排名提升至首页。分析涵盖现有代码的优点、不足,并提供具体改进建议。
|
||||
|
||||
---
|
||||
|
||||
### 现有SEO优点
|
||||
1. **TKD(Title, Keywords, Description)设置**:
|
||||
- 标题包含核心关键词(如“大地资源网在线观看免费官网”“2024大地影院免费高清电视剧大全”),长度适中(约60字符),符合百度要求。
|
||||
- 关键词和描述包含热门搜索词(如“免费视频”“高清电视剧”),与影视站点用户搜索习惯高度相关。
|
||||
- 使用`{{{video_type}}}`占位符,动态插入内容(如“动作片”),提升页面相关性。
|
||||
|
||||
2. **结构化数据**:
|
||||
- 包含`WebSite`、`VideoObject`和`CollectionPage`的JSON-LD结构化数据,增强百度富媒体展示(如视频缩略图、评分)。
|
||||
- `ItemList`列出具体影片,包含名称、描述、演员、图片等,利于搜索引擎理解内容。
|
||||
|
||||
3. **站内链接**:
|
||||
- 导航链接(如`/vodtype/dian-ying`)和内容链接(如`/voddetail/wu-ren-guo-jing-140361`)结构清晰,URL规范化,利于爬虫抓取。
|
||||
- 提供“更多”链接(如`/vodtype-dian-ying/all-all-all-all/all-page1`),引导用户深入浏览,增加页面权重。
|
||||
|
||||
4. **Sitemap和Robots**:
|
||||
- 提供多种地图链接(XML、RSS、百度Sitemap等),便于搜索引擎快速收录。
|
||||
- `robots.txt`支持,明确爬虫规则。
|
||||
|
||||
5. **响应式设计**:
|
||||
- 使用`meta viewport`和响应式网格(如`col-lg-4 col-md-4`),适配PC和移动端,提升用户体验和移动端排名。
|
||||
|
||||
6. **社交媒体标签**:
|
||||
- `og:title`、`og:description`等Open Graph标签支持社交媒体分享,增加外部流量来源。
|
||||
|
||||
---
|
||||
|
||||
### SEO不足及优化建议
|
||||
以下是首页SEO的不足之处及具体改进建议,针对中国大陆影视站点特点(如百度算法偏好)优化。
|
||||
|
||||
#### 1. **标题(Title)优化**
|
||||
**问题**:
|
||||
- 标题过长(约70字符,含“https://video1.com-大地”),可能被截断,影响展示效果。
|
||||
- 包含重复关键词(如“大地”出现多次),降低关键词密度效率。
|
||||
- 包含无关域名(`https://video1.com`),与实际域名(`video2.com`)不一致,易引起搜索引擎混淆。
|
||||
|
||||
**建议**:
|
||||
- 精简标题,控制在60字符以内,突出核心关键词,避免重复。
|
||||
- 移除无关域名,使用实际域名(`video2.com`)增强品牌一致性。
|
||||
- 示例优化标题:
|
||||
```html
|
||||
<title>大地影视-2024免费高清电影电视剧在线观看-video2.com</title>
|
||||
```
|
||||
|
||||
#### 2. **关键词(Keywords)优化**
|
||||
**问题**:
|
||||
- 关键词列表较长,部分词(如“短视频”“预告片”)与主站内容(电影、电视剧)相关性较低。
|
||||
- 关键词堆砌(如“大地影院大全在线观看”“大地”),可能被百度视为过度优化。
|
||||
- 未包含长尾关键词(如“免费电影在线观看”“2024最新电视剧”),错失精准流量。
|
||||
|
||||
**建议**:
|
||||
- 精选5-8个高相关性关键词,包含品牌词(如“大地影视”)和长尾词。
|
||||
- 避免重复和无关词,突出用户搜索意图。
|
||||
- 示例优化关键词:
|
||||
```html
|
||||
<meta name="keywords" content="大地影视,免费电影,2024最新电视剧,高清综艺,动漫在线观看,短剧大全,video2.com">
|
||||
```
|
||||
|
||||
#### 3. **描述(Description)优化**
|
||||
**问题**:
|
||||
- 描述过长(约180字符),可能被截断,影响点击率。
|
||||
- 包含无效URL(`www.https://video1.com`),格式错误,降低可信度。
|
||||
- 关键词堆砌(如“大地影视”重复出现),未突出独特卖点(如“无广告”)。
|
||||
- `{{{video_type}}}`占位符在首页可能未正确替换,导致描述不完整。
|
||||
|
||||
**建议**:
|
||||
- 控制描述在120-160字符,简洁突出免费、高清、无广告等卖点。
|
||||
- 修正URL为`video2.com`,确保一致性。
|
||||
- 确保`{{{video_type}}}`在首页有默认值(如“电影”)或移除。
|
||||
- 示例优化描述:
|
||||
```html
|
||||
<meta name="description" content="大地影视(video2.com)提供2024最新免费高清电影、电视剧、综艺、动漫和短剧,无广告在线观看,每日更新,畅享极致影视体验!">
|
||||
```
|
||||
|
||||
#### 4. **URL规范化**
|
||||
**问题**:
|
||||
- 页面URL(`https://video2.com`)与描述中的`https://video1.com`不一致,可能导致权重分散。
|
||||
- 部分链接(如`/news/52050.html`)指向非视频内容,降低页面主题相关性。
|
||||
- 热门搜索链接(如`/news/52050.html`)重复指向同一页面,浪费爬虫资源。
|
||||
|
||||
**建议**:
|
||||
- 统一使用`https://video2.com`作为规范URL,添加`rel="canonical"`标签:
|
||||
```html
|
||||
<link rel="canonical" href="https://video2.com">
|
||||
```
|
||||
- 将热门搜索链接改为视频详情页(如`/voddetail/gu-mu-li-ying-guo-yu-140357`),提高相关性。
|
||||
- 检查站内链接,确保无404或重定向错误。
|
||||
|
||||
#### 5. **结构化数据改进**
|
||||
**问题**:
|
||||
- `VideoObject`的`thumbnailUrl`指向详情页URL而非图片URL,格式错误。
|
||||
- `uploadDate`格式为`25-05-08`,不符ISO 8601标准(如`2025-05-08`)。
|
||||
- 部分影片描述为空(如“铁鹰战士4”),影响富媒体展示效果。
|
||||
- `aggregateRating`的`ratingValue`多为`0.0`,缺乏真实评分数据。
|
||||
|
||||
**建议**:
|
||||
- 修正`thumbnailUrl`为实际图片URL(如`/img/video/2025/01/27/22/wu-ren-guo-jing.webp`)。
|
||||
- 规范化`uploadDate`为`YYYY-MM-DD`格式。
|
||||
- 为每部影片补充简短描述(50-100字),提高信息完整性。
|
||||
- 若无真实评分,移除`aggregateRating`或用默认值(如`5.0`)。
|
||||
- 示例优化片段:
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": "大地影视热门推荐预告片",
|
||||
"description": "观看大地影视最新电影和电视剧的精彩预告片!",
|
||||
"thumbnailUrl": "https://video2.com/img/video/2025/01/27/22/wu-ren-guo-jing.webp",
|
||||
"uploadDate": "2025-05-08",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "大地影视"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 6. **内容优化**
|
||||
**问题**:
|
||||
- 首页内容偏少,部分模块(如“最新电视剧”“最新综艺”)的`<ul>`为空,降低页面信息量。
|
||||
- 影片简介过长(如“无人过境”超300字),可能影响加载速度和用户体验。
|
||||
- 缺少关键词密度优化,核心词(如“免费观看”“高清影视”)出现频率低。
|
||||
|
||||
**建议**:
|
||||
- 填充空模块,至少展示3-5条内容,增加页面信息量。
|
||||
- 简介控制在100-150字,超出部分移至详情页,首页仅展示摘要。
|
||||
- 在`<h2>`、`<p>`中适度插入关键词(如“免费高清电影”),但避免堆砌。
|
||||
- 示例优化影片项:
|
||||
```html
|
||||
<div class="dbbcf6 lvshicms-vodlist__detail">
|
||||
<h2 class="c9c8c4 title text-overflow">
|
||||
<a href="/voddetail/wu-ren-guo-jing-140361" title="无人过境免费观看">无人过境</a>
|
||||
</h2>
|
||||
<p class="ed925a text text-overflow text-muted hidden-xs">
|
||||
简介: 西北小镇混混老姜欲雇凶杀人,高启义为筹医药费假冒杀手,引发连环追杀。免费高清在线观看,精彩公路冒险!
|
||||
</p>
|
||||
</div>
|
||||
```
|
||||
|
||||
#### 7. **导航优化**
|
||||
**问题**:
|
||||
- 导航下拉菜单(如“电影”“电视剧”)的子项链接(如`/vodtype-all/dong-zuo-pian-all-all-all/all-page1`)层级过深,增加爬虫抓取难度。
|
||||
- 热门搜索模块的链接指向`/news`而非视频详情页,降低转化率。
|
||||
- 导航未使用面包屑导航,影响用户体验和SEO权重传递。
|
||||
|
||||
**建议**:
|
||||
- 简化URL层级,如将`/vodtype-all/dong-zuo-pian-all-all-all/all-page1`改为`/movie/action/page1`。
|
||||
- 将热门搜索链接指向视频详情页(如`/voddetail/gu-mu-li-ying-guo-yu-140357`)。
|
||||
- 添加面包屑导航:
|
||||
```html
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/">首页</a></li>
|
||||
<li class="breadcrumb-item"><a href="/vodtype/dian-ying">电影</a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page">动作片</li>
|
||||
</ol>
|
||||
</nav>
|
||||
```
|
||||
|
||||
#### 8. **图片优化**
|
||||
**问题**:
|
||||
- 图片未使用`alt`属性(如`<img>`或背景图),错失关键词优化机会。
|
||||
- 图片URL(如`/img/video/2025/01/27/22/wu-ren-guo-jing.webp`)未压缩,增加加载时间。
|
||||
- 懒加载属性(`data-src`)未全面覆盖,可能影响首屏加载。
|
||||
|
||||
**建议**:
|
||||
- 为所有图片添加`alt`属性,包含关键词:
|
||||
```html
|
||||
<a class="d0ff14 lvshicms-vodlist__thumb lazyload" ...>
|
||||
<img src="/img/video/2025/01/27/22/wu-ren-guo-jing.webp" alt="无人过境免费高清电影海报" style="display:none;">
|
||||
</a>
|
||||
```
|
||||
- 使用工具(如TinyPNG)压缩图片,减少文件大小。
|
||||
- 确保所有图片使用`data-src`和`data-original`,并验证懒加载脚本有效。
|
||||
|
||||
#### 9. **加载速度优化**
|
||||
**问题**:
|
||||
- 加载多个CSS文件(`plugins.css`、`global.css`等),增加HTTP请求。
|
||||
- JS文件(如`jquery-3.7.1.min.js`)未使用defer或async,阻塞渲染。
|
||||
- 百度推送脚本重复加载(`<head>`和`<body>`各一次)。
|
||||
|
||||
**建议**:
|
||||
- 合并CSS文件为单一文件,减少请求:
|
||||
```html
|
||||
<link rel="stylesheet" href="/template/videodingzhu/css/combined.css" type="text/css">
|
||||
```
|
||||
- 为非关键JS添加`defer`或`async`:
|
||||
```html
|
||||
<script src="/public/jquery/jquery-3.7.1.min.js" defer></script>
|
||||
```
|
||||
- 删除重复的百度推送脚本,仅保留`<head>`中的:
|
||||
```html
|
||||
<script src="http://push.zhanzhang.baidu.com/push.js"></script>
|
||||
```
|
||||
|
||||
#### 10. **移动端体验**
|
||||
**问题**:
|
||||
- 移动端搜索表单的占位符(“输入主演名或影片名”)未突出免费观看优势。
|
||||
- 部分模块(如“好莱坞榜单”)在移动端隐藏(`hidden-xs`),减少信息量。
|
||||
- 未启用AMP(加速移动页面)或PWA(渐进式Web应用)。
|
||||
|
||||
**建议**:
|
||||
- 修改搜索占位符,突出卖点:
|
||||
```html
|
||||
<input class="d1f534 mobile-search-input" name="keyword" placeholder="搜索免费高清电影或主演">
|
||||
```
|
||||
- 在移动端显示简版榜单(如前3项),增加内容:
|
||||
```html
|
||||
<div class="a51b92 col-md-wide-25 hidden-md hidden-lg">
|
||||
<!-- 简版榜单 -->
|
||||
</div>
|
||||
```
|
||||
- 考虑引入AMP版本(如`/amp/index.html`)或PWA,提升移动端加载速度和用户留存。
|
||||
|
||||
#### 11. **外部链接与友链**
|
||||
**问题**:
|
||||
- 友情链接模块(`<ul class="a085fb lvshicms-link__text">`)为空,错失权重传递机会。
|
||||
- 未利用站外链接(如知乎、微博)引导流量。
|
||||
|
||||
**建议**:
|
||||
- 添加5-10个高质量友情链接,优先选择影视相关站点:
|
||||
```html
|
||||
<ul class="a085fb lvshicms-link__text clearfix">
|
||||
<li><a href="https://example.com" target="_blank">影视资源站</a></li>
|
||||
</ul>
|
||||
```
|
||||
- 在社交媒体(如微博)创建官方账号,发布视频预告,添加`video2.com`链接。
|
||||
|
||||
#### 12. **其他细节**
|
||||
**问题**:
|
||||
- `<html lang="zh">`未指定具体语言(如`zh-CN`),可能影响区域化SEO。
|
||||
- 部分影片评分(`ratingValue: 0.0`)不可信,降低用户信任。
|
||||
- 未设置HSTS(HTTP严格传输安全),影响安全性评分。
|
||||
|
||||
**建议**:
|
||||
- 修改语言为`zh-CN`:
|
||||
```html
|
||||
<html lang="zh-CN">
|
||||
```
|
||||
- 为热门影片添加真实评分(如基于豆瓣或用户评分)。
|
||||
- 启用HSTS:
|
||||
```html
|
||||
<meta http-equiv="Strict-Transport-Security" content="max-age=31536000; includeSubDomains">
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 综合优化后的首页TKD示例
|
||||
```html
|
||||
<title>大地影视-2024免费高清电影电视剧在线观看-video2.com</title>
|
||||
<meta name="keywords" content="大地影视,免费电影,2024最新电视剧,高清综艺,动漫在线观看,短剧大全,video2.com">
|
||||
<meta name="description" content="大地影视(video2.com)提供2024最新免费高清电影、电视剧、综艺、动漫和短剧,无广告在线观看,每日更新,畅享极致影视体验!">
|
||||
<link rel="canonical" href="https://video2.com">
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 实施优先级
|
||||
1. **高优先级**(立即修复,影响排名):
|
||||
- 修正标题、关键词、描述(精简、统一域名)。
|
||||
- 规范化URL,添加`rel="canonical"`。
|
||||
- 填充空模块,优化简介长度。
|
||||
|
||||
2. **中优先级**(1-2周内优化):
|
||||
- 改进结构化数据(修正`thumbnailUrl`、`uploadDate`)。
|
||||
- 压缩图片,合并CSS/JS。
|
||||
- 添加面包屑导航和友情链接。
|
||||
|
||||
3. **低优先级**(长期优化):
|
||||
- 引入AMP/PWA。
|
||||
- 建立社交媒体账号。
|
||||
- 启用HSTS。
|
||||
|
||||
---
|
||||
|
||||
### 同行对比分析
|
||||
通过分析中国大陆影视站点(如爱奇艺、腾讯视频、免费影视站),常见SEO策略包括:
|
||||
- **关键词聚焦**:突出“免费”“高清”“在线观看”,长尾词覆盖广泛(如“2024最新动作片免费观看”)。
|
||||
- **内容丰富**:首页展示多类型内容(电影、电视剧、综艺等),每日更新。
|
||||
- **技术优化**:CDN加速、图片压缩、懒加载全面应用。
|
||||
- **外部引流**:通过微博、抖音、贴吧发布短视频或预告,引导流量。
|
||||
|
||||
**建议**:参考爱奇艺的动态TKD和内容密度,结合免费站点的关键词策略(如“无广告”),在首页增加短视频预告模块,吸引用户停留。
|
||||
|
||||
---
|
||||
|
||||
### 总结
|
||||
当前首页SEO基础良好,但存在标题冗长、URL不统一、内容空缺等问题。通过精简TKD、规范化URL、填充内容、优化图片和加载速度,可显著提升百度排名。建议优先实施高优先级优化,并结合社交媒体引流,1-2个月内有望进入首页。
|
||||
|
||||
若需具体代码调整(如某个模块的实现)或进一步分析(如竞争对手关键词),请提供更多细节!
|
||||
@@ -34,11 +34,11 @@ class VideoCategoryModel extends MongoModel
|
||||
"v_category" => "电影",
|
||||
"v_category_en" => 'dian-ying',
|
||||
"children" => [
|
||||
[
|
||||
"v_category_en" => "shao-shi-dian-ying",
|
||||
"v_category" => "邵氏电影",
|
||||
"children" => [],
|
||||
],
|
||||
// [
|
||||
// "v_category_en" => "shao-shi-dian-ying",
|
||||
// "v_category" => "邵氏电影",
|
||||
// "children" => [],
|
||||
// ],
|
||||
[
|
||||
"v_category_en" => "dong-zuo-pian",
|
||||
"v_category" => "动作片",
|
||||
@@ -84,16 +84,16 @@ class VideoCategoryModel extends MongoModel
|
||||
"v_category" => "动画片",
|
||||
"children" => [],
|
||||
],
|
||||
[
|
||||
"v_category_en" => "gao-xiao",
|
||||
"v_category" => "搞笑",
|
||||
"children" => [],
|
||||
],
|
||||
[
|
||||
"v_category_en" => "yu-gao-pian",
|
||||
"v_category" => "预告片",
|
||||
"children" => [],
|
||||
],
|
||||
// [
|
||||
// "v_category_en" => "gao-xiao",
|
||||
// "v_category" => "搞笑",
|
||||
// "children" => [],
|
||||
// ],
|
||||
// [
|
||||
// "v_category_en" => "yu-gao-pian",
|
||||
// "v_category" => "预告片",
|
||||
// "children" => [],
|
||||
// ],
|
||||
|
||||
// [
|
||||
// "v_category_en" => "lun-li-pian",
|
||||
@@ -152,11 +152,11 @@ class VideoCategoryModel extends MongoModel
|
||||
"v_category" => "综艺",
|
||||
"v_category_en" => 'zong-yi',
|
||||
"children" => [
|
||||
[
|
||||
"v_category_en" => "yan-chang-hui",
|
||||
"v_category" => "演唱会",
|
||||
"children" => [],
|
||||
],
|
||||
// [
|
||||
// "v_category_en" => "yan-chang-hui",
|
||||
// "v_category" => "演唱会",
|
||||
// "children" => [],
|
||||
// ],
|
||||
[
|
||||
"v_category_en" => "da-lu-zong-yi",
|
||||
"v_category" => "大陆综艺",
|
||||
@@ -187,11 +187,11 @@ class VideoCategoryModel extends MongoModel
|
||||
"v_category" => "音乐",
|
||||
"children" => [],
|
||||
],
|
||||
[
|
||||
"v_category_en" => "qi-che",
|
||||
"v_category" => "汽车",
|
||||
"children" => [],
|
||||
],
|
||||
// [
|
||||
// "v_category_en" => "qi-che",
|
||||
// "v_category" => "汽车",
|
||||
// "children" => [],
|
||||
// ],
|
||||
],
|
||||
],
|
||||
[
|
||||
|
||||
@@ -138,6 +138,7 @@ class StaticConfig
|
||||
'da-lu' => '大陆',
|
||||
'xiang-gang' => '香港',
|
||||
'tai-wan' => '台湾',
|
||||
'nei-di' => '内地',
|
||||
'ri-ben' => '日本',
|
||||
'han-guo' => '韩国',
|
||||
'tai-guo' => '泰国',
|
||||
@@ -159,7 +160,6 @@ class StaticConfig
|
||||
'qi-ta' => '其它',
|
||||
'pu-tao-ya' => '葡萄牙',
|
||||
'nuo-wei' => '挪威',
|
||||
'nei-di' => '内地',
|
||||
'nan-si-la-fu' => '南斯拉夫',
|
||||
'nan-fei' => '南非',
|
||||
'mo-xi-ge' => '墨西哥',
|
||||
|
||||
@@ -49,7 +49,7 @@ class Site extends TagLib
|
||||
*/
|
||||
public function tagVCIUrl($tag)
|
||||
{
|
||||
$strParentCategory = $tag['prent_category'];
|
||||
$strParentCategory = $tag['parent_category'];
|
||||
$strParentCategory = $this->customBuildVar($strParentCategory);
|
||||
|
||||
$strParse = <<<EOD
|
||||
|
||||
@@ -20,6 +20,19 @@ $arrSiteData = [
|
||||
'd_text_logo' => '热门影视平台',
|
||||
't_cfg' => [],
|
||||
],
|
||||
[
|
||||
'd_id' => 1002,
|
||||
'd_domain' => 'video2.com',
|
||||
'd_name' => '大地影视',
|
||||
't_id' => '1002',
|
||||
'd_keywords' => '大地影视',
|
||||
'd_description' => '欢迎来到大地影视 - 大地影院免费高清电视剧大全,大地电影资源第二页,最新高清电影电视剧、伦理片、综艺、美剧、韩剧、英剧',
|
||||
'd_index_title' => '大地资源网在线观看免费官网-2024大地影院免费高清电视剧大全-https://video1.com-大地',
|
||||
'd_index_keywords' => '大地资源网在线观看免费官网,2024大地影院免费高清电视剧大全,大地影院大全在线观看,短视频,搞笑视频,视频分享,免费视频,在线视频,预告片-大地',
|
||||
'd_index_description' => '大地资源网在线观看免费官网(www.https://video1.com)2024大地影院免费高清电视剧大全,大地电影资源第二页,最新高清电影电视剧、伦理片、综艺、美剧、韩剧、英剧、日剧等大地影视中文在线观看!提供2024最新{{{video_type}}}电视剧免费观看-大地',
|
||||
'd_text_logo' => '热门影视平台',
|
||||
't_cfg' => [],
|
||||
],
|
||||
|
||||
|
||||
];
|
||||
|
||||
@@ -285,8 +285,46 @@ function addHistoryFun(VideoInfo) {
|
||||
}
|
||||
|
||||
|
||||
function displayHistory() {
|
||||
const defaultTemplate = `
|
||||
<li class="active clearfix">
|
||||
<div class="thumb">
|
||||
<a class="v-thumb stui-vodlist__thumb lazyload-bg"
|
||||
href="{{videoUrl}}"
|
||||
title="{{videoName}}"
|
||||
data-src="{{videoPic}}">
|
||||
<span class="play hidden-xs"></span>
|
||||
<span class="pic-text text-right">{{videoRemarks}}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="detail">
|
||||
<h3 class="title">
|
||||
<a href="{{videoUrl}}">{{videoName}}</a>
|
||||
</h3>
|
||||
<p class="hidden-mi">
|
||||
<span class="text-muted">简介:</span>
|
||||
{{videoDescription}}
|
||||
</p>
|
||||
<p class="hidden-mi">
|
||||
<span class="text-muted">类型:</span>
|
||||
{{videoCategory}}
|
||||
<span class="split-line"></span>
|
||||
<span class="hidden-xs">
|
||||
<span class="split-line"></span>
|
||||
<span class="text-muted">年份:</span>
|
||||
{{videoYear}}
|
||||
</span>
|
||||
</p>
|
||||
<p class="margin-0">
|
||||
<a class="btn btn-min btn-primary" href="{{videoPlayUrl}}">立即播放</a>
|
||||
|
||||
<a class="btn btn-min btn-default" href="{{videoUrl}}">查看详情</a>
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
`;
|
||||
|
||||
// 渲染历史记录函数,接受自定义模板参数
|
||||
function displayHistory(template = defaultTemplate) {
|
||||
// 获取数据
|
||||
const arrHistory = JSON.parse(localStorage.getItem(strHistoryKey)) || [];
|
||||
|
||||
@@ -297,103 +335,50 @@ function displayHistory() {
|
||||
|
||||
// 渲染列表
|
||||
const historyContainer = document.getElementById('historyContainer');
|
||||
if (!historyContainer) {
|
||||
console.error('历史记录容器未找到');
|
||||
return;
|
||||
}
|
||||
historyContainer.innerHTML = ''; // 清空原内容
|
||||
arrHistory.forEach(Video => {
|
||||
const VideoElement = document.createElement('li');
|
||||
let strVideoUrl = formatVideoUrl(Video.v_name_en, Video.v_id)
|
||||
let strVideoPlayUrl = formatVideoPlayUrl(Video.v_name_en,Video.v_id, 'default', 1)
|
||||
let strSearchUrl = formatSearchUrl(Video.v_name, 1)
|
||||
if (isMobile()) {
|
||||
VideoElement.innerHTML = `
|
||||
<li class="active clearfix">
|
||||
<div class="thumb">
|
||||
<a class="v-thumb stui-vodlist__thumb lazyload-bg"
|
||||
href='${strVideoUrl}'
|
||||
title="${Video.v_name}"
|
||||
data-src="${Video.v_pic}">
|
||||
<span class="play hidden-xs"></span>
|
||||
<span class="pic-text text-right">${Video.v_remarks}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="detail">
|
||||
<h3 class="title">
|
||||
<a href='${strVideoUrl}'>${Video.v_name}</a>
|
||||
</h3>
|
||||
<p class="hidden-mi">
|
||||
<span class="text-muted">简介:</span>
|
||||
${Video.v_description}
|
||||
</p>
|
||||
|
||||
<p class="hidden-mi">
|
||||
<span class="text-muted">类型:</span>
|
||||
${Video.v_category}
|
||||
<span class="split-line"></span>
|
||||
<span class="hidden-xs">
|
||||
<span class="split-line"></span>
|
||||
<span class="text-muted">年份:</span>
|
||||
${Video.v_year}
|
||||
</span>
|
||||
</p>
|
||||
<p class="margin-0">
|
||||
<a class="btn btn-min btn-primary" href='${strVideoPlayUrl}'>立即播放</a>
|
||||
|
||||
<a class="btn btn-min btn-default" href='${strVideoUrl}'>查看详情</a>
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
arrHistory.forEach((video) => {
|
||||
// 生成URL
|
||||
const strVideoUrl = formatVideoUrl(video.v_name_en, video.v_id);
|
||||
const strVideoPlayUrl = formatVideoPlayUrl(video.v_name_en, video.v_id, 'default', 1);
|
||||
const strSearchUrl = formatSearchUrl(video.v_name, 1);
|
||||
|
||||
`;
|
||||
} else {
|
||||
VideoElement.innerHTML = `
|
||||
<li class="active clearfix">
|
||||
<div class="thumb">
|
||||
<a class="v-thumb stui-vodlist__thumb lazyload-bg"
|
||||
href='${strVideoUrl}'
|
||||
title="${Video.v_name}"
|
||||
data-src="${Video.v_pic}">
|
||||
<span class="play hidden-xs"></span>
|
||||
<span class="pic-text text-right">${Video.v_remarks}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="detail">
|
||||
<h3 class="title">
|
||||
<a href='${strVideoUrl}'>${Video.v_name}</a>
|
||||
</h3>
|
||||
<p class="hidden-mi">
|
||||
<span class="text-muted">简介:</span>
|
||||
${Video.v_description}
|
||||
</p>
|
||||
<p class="hidden-mi">
|
||||
<span class="text-muted">类型:</span>
|
||||
${Video.v_category}
|
||||
<span class="split-line"></span>
|
||||
<span class="hidden-xs">
|
||||
<span class="split-line"></span>
|
||||
<span class="text-muted">年份:</span>
|
||||
${Video.v_year}
|
||||
</span>
|
||||
</p>
|
||||
<p class="margin-0">
|
||||
<a class="btn btn-min btn-primary" href='${strVideoPlayUrl}'>立即播放</a>
|
||||
|
||||
<a class="btn btn-min btn-default" href='${strVideoUrl}'>查看详情</a>
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
// 替换模板中的占位符
|
||||
const renderedTemplate = template
|
||||
.replace(/{{videoUrl}}/g, strVideoUrl)
|
||||
.replace(/{{videoName}}/g, escapeHtml(video.v_name)) // 防止XSS
|
||||
.replace(/{{videoPic}}/g, escapeHtml(video.v_pic))
|
||||
.replace(/{{videoRemarks}}/g, escapeHtml(video.v_remarks))
|
||||
.replace(/{{videoDescription}}/g, escapeHtml(video.v_description))
|
||||
.replace(/{{videoCategory}}/g, escapeHtml(video.v_category))
|
||||
.replace(/{{videoYear}}/g, escapeHtml(video.v_year))
|
||||
.replace(/{{videoActor}}/g, escapeHtml(video.v_area))
|
||||
.replace(/{{videoPlayUrl}}/g, strVideoPlayUrl)
|
||||
.replace(/{{searchUrl}}/g, strSearchUrl);
|
||||
|
||||
`;
|
||||
}
|
||||
|
||||
historyContainer.appendChild(VideoElement);
|
||||
// 创建元素并添加到容器
|
||||
const videoElement = document.createElement('li');
|
||||
videoElement.innerHTML = renderedTemplate;
|
||||
historyContainer.appendChild(videoElement);
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 防止XSS攻击的转义函数
|
||||
function escapeHtml(str) {
|
||||
if (!str) return '';
|
||||
return str.replace(/[&<>"']/g, (match) => ({
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
'"': '"',
|
||||
"'": '''
|
||||
}[match]));
|
||||
}
|
||||
|
||||
|
||||
// 方法1:使用 fetch API
|
||||
async function reportStats(data) {
|
||||
|
||||
try {
|
||||
@@ -509,11 +494,12 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
var ActivePlayUrl = arrPlayUrl[strPlayType][intPlayUrlIndex - 1]
|
||||
strPlayUrl = ActivePlayUrl.url
|
||||
}
|
||||
|
||||
initDPlayer(strPlayUrl)
|
||||
}
|
||||
|
||||
addHistoryFun()
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
BIN
code/public/static/img/load.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
@@ -957,6 +957,13 @@ textarea.form-control{ height: auto;}
|
||||
.video-play-page .stui-player__head a {
|
||||
color: #fff;
|
||||
}
|
||||
.video-play-page .dplayer-video-wrap {
|
||||
max-height: 168px;
|
||||
}
|
||||
|
||||
.video-play-page video {
|
||||
max-height: 168px;
|
||||
}
|
||||
}
|
||||
/** 播放器 end */
|
||||
|
||||
@@ -970,6 +977,54 @@ textarea.form-control{ height: auto;}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
pc 导航 滚动
|
||||
*/
|
||||
|
||||
@media (min-width: 769px) {
|
||||
.stui-screen__list {
|
||||
display: flex;
|
||||
overflow-x: auto; /* 启用横向滚动 */
|
||||
white-space: nowrap; /* 强制单行显示 */
|
||||
scrollbar-width: thin; /* 滚动条宽度(Firefox) */
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.stui-screen__list::-webkit-scrollbar {
|
||||
height: 8px; /* 滚动条高度(Chrome/Safari) */
|
||||
}
|
||||
|
||||
.stui-screen__list::-webkit-scrollbar-thumb {
|
||||
background: #e0dfdf; /* 滚动条颜色 */
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.stui-screen__list::-webkit-scrollbar-thumb:hover {
|
||||
background: #8a8888; /* 滚动条悬停颜色 */
|
||||
}
|
||||
|
||||
.stui-screen__list li {
|
||||
flex: 0 0 auto; /* 防止缩小,保持原始宽度 */
|
||||
margin-right: 12px; /* 导航项间距 */
|
||||
}
|
||||
|
||||
.stui-screen__list li a,
|
||||
.stui-screen__list li span {
|
||||
display: inline-block;
|
||||
padding: 8px 16px;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* 清除浮动和默认样式 */
|
||||
.stui-screen__list.clearfix::after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
/* 保持active状态样式 */
|
||||
.stui-screen__list li.active a {
|
||||
color: #333; /* 可根据主题调整 */
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
161
code/public/template/videodingzhu/css/color.css
Normal file
@@ -0,0 +1,161 @@
|
||||
@charset "utf-8";
|
||||
|
||||
|
||||
/* style */
|
||||
/* .lvshicms-panel,.lvshicms-panel-box{ padding: 10px;} */
|
||||
.lvshicms-panel_hd{ padding: 10px;}
|
||||
.lvshicms-panel-box.active{ margin: -10px;}
|
||||
|
||||
/* all */
|
||||
body{ background: #f8f8f8; color: #666;}
|
||||
|
||||
/* text */
|
||||
a,h1, h2, h3, h4, h5, h6,h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{ color: #333;}
|
||||
a:hover{ color: cornflowerblue;}
|
||||
a.disabled{ cursor: not-allowed; opacity: 0.6;}
|
||||
.text-333{ color: #333;}
|
||||
.text-muted{ color: #999;}
|
||||
.text-red{ color: red;}
|
||||
.text-link{ color: blue;}
|
||||
.text-fff{ color: #fff;}
|
||||
|
||||
/* form */
|
||||
.form-control{ background-color:#F5F5F5; color: #999999; border: 1px solid #eee;}
|
||||
.form-control:focus{ border-color:#2299dd; -webkit-box-shadow:inset 0 1px 1px rgba(255,136,0,.075),0 0 8px rgba(255,136,0,.6);}
|
||||
|
||||
/* btn */
|
||||
.btn-default{ background-color: #eee; color: #333; background: linear-gradient(to right,#eeeeee 0,#f6f6f6 100%); box-shadow: 0 5px 10px rgba(246,246,246,.25);}
|
||||
.btn-warm{ background-color: #2299dd; background: linear-gradient(to right,#2299dd 0,#45A9E2 100%); box-shadow: 0 5px 10px rgba(69,169,226,.25);}
|
||||
.btn-primary{ background-color: #4fb1f7; background: linear-gradient(to right,#4fb1f7 0,#6bb8ee 100%); box-shadow: 0 5px 10px rgba(107,184,238,.25);}
|
||||
.btn-danger{ background-color: #fc000c; background: linear-gradient(to right,#fc000c 0,#f9444d 100%); box-shadow: 0 5px 10px rgba(249,68,77,.25);}
|
||||
.btn-info{ background-color: #5bc0de; background: linear-gradient(to right,#5bc0de 0,#7cc1d6 100%); box-shadow: 0 5px 10px rgba(124,193,214,.25);}
|
||||
.btn-gray{ background-color: #282828; color: #ddd; background: linear-gradient(to right,#282828 0,#3b3b3b 100%); box-shadow: 0 5px 10px rgba(59,59,59,.25);}
|
||||
.btn-warm,.btn-primary,.btn-danger,.btn-info{ color: #fff;}
|
||||
.btn-warm:hover,.btn-primary:hover,.btn-danger:hover,.btn-info:hover,.btn-gray:hover{ color: #fff;}
|
||||
.btn.disabled{ cursor: not-allowed; opacity: 0.6;}
|
||||
|
||||
/* border */
|
||||
.border{ border-color: #eee;}
|
||||
.border-primary{ border-color: #4fb1f7;}
|
||||
.border-danger{ border-color: red;}
|
||||
.border-info{ border-color: #5bc0de;}
|
||||
|
||||
/* line */
|
||||
.spot{ border-color: #2299dd;}
|
||||
.split-line{ background-color: #eee;}
|
||||
.top-line:before,.bottom-line:after,.top-line-dot:before,.bottom-line-dot:before{ border-color: #eee;}
|
||||
|
||||
/* badge */
|
||||
.badge{ background-color: #eee; color: #333;}
|
||||
.badge-first{ background-color: #ff4a4a; color: #fff;}
|
||||
.badge-second{ background-color: #ff7701; color: #fff;}
|
||||
.badge-third{ background-color: #ffb400; color: #fff;}
|
||||
|
||||
/* dropdown */
|
||||
.dropdown-box .item{ background-color: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.1);}
|
||||
|
||||
/* pic-tag */
|
||||
.pic-tag{ }
|
||||
.pic-tag.active,.pic-tag-h{ background-color: #2299dd; color: #fff;}
|
||||
.pic-text,.pic-title-bottom{ background-repeat: no-repeat; background-image: linear-gradient(transparent,rgba(0,0,0,.5)); color: #fff;}
|
||||
.pic-text.active{ background: rgba(0,0,0,0.6); color: #fff;}
|
||||
.pic-title-top{background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 100%); color: #fff;}
|
||||
|
||||
/* link */
|
||||
.lvshicms-link__pic li img{ display: block; padding: 2px 6px; border-radius: 4px; background-color: #fff;}
|
||||
|
||||
/* nav */
|
||||
.nav li.active a{ border-color: #2299dd; color: #2299dd;}
|
||||
.nav-tabs li .dropdown-box .item li a{ color: #333;}
|
||||
.nav-tabs li .dropdown-box .item li.active a{ color: #2299dd;}
|
||||
|
||||
/* panel */
|
||||
.lvshicms-panel-bg,.lvshicms-panel-bg2{background-color: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.05);}
|
||||
|
||||
/* vodlist */
|
||||
.lvshicms-vodlist__bg{background-color: #f5f5f5;}
|
||||
.lvshicms-vodlist__bg:hover{ box-shadow: 0 3px 5px rgba(0,0,0,.08);}
|
||||
|
||||
/* text-list */
|
||||
.lvshicms-vodlist__text.striped .striped-head,.lvshicms-vodlist__text.to-color li:nth-of-type(odd){ background-color: #f5f5f5;}
|
||||
|
||||
/* table */
|
||||
.lvshicms-table>thead>tr>th,.lvshicms-table>tbody>tr>td, .lvshicms-table>tbody>tr>th, .lvshicms-table>tfoot>tr>td, .lvshicms-table>tfoot>tr>th, .lvshicms-table>thead>tr>td, .lvshicms-table>thead>tr>th { border-color: #ddd;}
|
||||
|
||||
/* playlist */
|
||||
.lvshicms-content__list::-webkit-scrollbar,.lvshicms-playdown__list::-webkit-scrollbar{ width: 4px; background-color: #f5f5f5;}
|
||||
.lvshicms-content__list::-webkit-scrollbar-thumb,.lvshicms-playdown__list::-webkit-scrollbar-thumb{background-color: #ccc;}
|
||||
|
||||
/* player */
|
||||
.lvshicms-player__video{ background-color: #000;}
|
||||
.lvshicms-player__operate > li > a{ color: #999;}
|
||||
|
||||
/* popup */
|
||||
.popup{ background-color: #f8f8f8;}
|
||||
.popup-head{ background-color: #fff;}
|
||||
|
||||
/* content */
|
||||
.lvshicms-content__detail .score .rating li .fa,.lvshicms-content__detail .score .branch{ color: #2299dd;}
|
||||
|
||||
/* flickity */
|
||||
.flickity-page-dots .dot{ background-color: #2299dd;}
|
||||
|
||||
/* carousel */
|
||||
.carousel-indicators-dots li{ background-color: #2299dd;}
|
||||
.carousel-indicators-text li.active .title{ color: red;}
|
||||
.carousel-indicators-thumb li.active{ border: 3px solid #2299dd;}
|
||||
|
||||
/* extra */
|
||||
.lvshicms-extra li a{ background-color: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);}
|
||||
.lvshicms-extra li a.backtop{ background-color: rgba(0,0,0,0.6); color: #fff; }
|
||||
|
||||
/* autocomplete */
|
||||
.autocomplete-suggestions{ background-color: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.05);}
|
||||
.autocomplete-suggestion, .autocomplete-suggestions li,.autocomplete-suggestion, .autocomplete-suggestions li a{ color: #333;}
|
||||
.autocomplete-suggestions li strong{ color: red;}
|
||||
|
||||
/* tabbar */
|
||||
.lvshicms-nav__tabbar{background-color: #f8f8f8; border-color: #eee;}
|
||||
.lvshicms-nav__tabbar .item .title{ color: #999;}
|
||||
|
||||
/* footer */
|
||||
.lvshicms-foot{ background-color: #f8f8f8;}
|
||||
|
||||
/*head*/
|
||||
.lvshicms-header__top,.lvshicms-header__top::before, .lvshicms-header__top::after,.lvshicms-header__logo .logo,.lvshicms-header__search,.lvshicms-header__user {
|
||||
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
.lvshicms-header__top {
|
||||
|
||||
box-shadow:0 1px 3px rgba(0,0,0,.05);
|
||||
|
||||
}
|
||||
.lvshicms-header__menu > ul > li.active > a {
|
||||
background-color:#2299dd;
|
||||
color:#fff;
|
||||
}
|
||||
.lvshicms-header__search li.search-item{
|
||||
border-color:#999;
|
||||
}
|
||||
.detail-info-box{
|
||||
background-color: #fff;
|
||||
box-shadow:0 1px 3px rgba(0,0,0,.05);
|
||||
}
|
||||
.lvshicms-content__thumb .lvshicms-vodlist__thumb {
|
||||
|
||||
box-shadow: 0 2px 6px rgba(200, 200, 200, .6);
|
||||
}
|
||||
.lvshicms-player__data{
|
||||
background-color:#fff;
|
||||
box-shadow:0 1px 3px rgba(0,0,0,.05);
|
||||
}
|
||||
|
||||
.bread-crumbs {
|
||||
/*background: linear-gradient(to right,#eeeeee 0,#f6f6f6 100%);*/
|
||||
}
|
||||
|
||||
.detail-info-box .data a {
|
||||
/*color: cornflowerblue;*/
|
||||
}
|
||||
2415
code/public/template/videodingzhu/css/global.css
Normal file
384
code/public/template/videodingzhu/css/plugins.css
Normal file
1712
code/public/template/videodingzhu/css/style.css
Normal file
BIN
code/public/template/videodingzhu/fonts/fontawesome-webfont.ttf
Normal file
BIN
code/public/template/videodingzhu/fonts/fontawesome-webfont.woff
Normal file
BIN
code/public/template/videodingzhu/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 477 B |
BIN
code/public/template/videodingzhu/images/icon/art.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
code/public/template/videodingzhu/images/icon/bd.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
code/public/template/videodingzhu/images/icon/dh.png
Normal file
|
After Width: | Height: | Size: 978 B |
BIN
code/public/template/videodingzhu/images/icon/dm.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
code/public/template/videodingzhu/images/icon/ds.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
code/public/template/videodingzhu/images/icon/dy.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
code/public/template/videodingzhu/images/icon/home.png
Normal file
|
After Width: | Height: | Size: 917 B |
BIN
code/public/template/videodingzhu/images/icon/zy.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
code/public/template/videodingzhu/images/load.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
code/public/template/videodingzhu/images/play.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
2
code/public/template/videodingzhu/static/player/parse.js
Normal file
@@ -0,0 +1,2 @@
|
||||
MacPlayer.Html = '<iframe width="100%" height="100%" src="'+MacPlayer.Parse + MacPlayer.PlayUrl+'" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="no" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" security="restricted" sandbox="allow-same-origin allow-forms allow-scripts"></iframe>';
|
||||
MacPlayer.Show();
|
||||