Merge branch 'dev' of ssh://git.bgbg.live:18150/root/SEONexus into dev
This commit is contained in:
@@ -447,9 +447,9 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
|
||||
break;
|
||||
|
||||
case 'video_rank_index':
|
||||
$strView = 'pc/getRank.html';
|
||||
$strView = 'pc/getRankIndex.html';
|
||||
if ($platform == 'h5') {
|
||||
$strView = 'video/getRank.html';
|
||||
$strView = 'video/getRankIndex.html';
|
||||
}
|
||||
//视频排行榜 首页
|
||||
Route::get($strRoute, function () use ($strView) {
|
||||
|
||||
@@ -17,18 +17,11 @@
|
||||
<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/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">
|
||||
<link rel="stylesheet" href="/template/videodadi/css/index.css" type="text/css">
|
||||
|
||||
<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>
|
||||
<script type="text/javascript"
|
||||
src='/public/video/common.js?v={site:cfg code="STATIC_FILE_VERSION" encode="false"/}'></script>
|
||||
|
||||
|
||||
{block name="head"}{/block}
|
||||
{block name="head-css"}{/block}
|
||||
{block name="head-js"}{/block}
|
||||
@@ -38,7 +31,7 @@
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body class="{block name='body-class'}{/block}" id="{block name='body-id'}{/block}">
|
||||
<header class="stui-header__top clearfix top-fixed headroom--top headroom--not-bottom" id="header-top">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
@@ -62,7 +55,7 @@
|
||||
<div class="stui-header__search">
|
||||
<form id="search" name="search" method="get" action="{$strSearchListUrlTemp}">
|
||||
<input type="text" name="keyword" class="mac_wd form-control mac_input" value=""
|
||||
placeholder="请输入关键词..." autocomplete="off">
|
||||
placeholder="搜索电影、电视剧或演员名称..." autocomplete="off">
|
||||
<button class="submit" id="searchbutton" type="submit">
|
||||
<i class="icon iconfont icon-search"></i>
|
||||
</button>
|
||||
@@ -71,7 +64,6 @@
|
||||
</div>
|
||||
|
||||
<ul class="stui-header__menu type-slide">
|
||||
<!-- 首页 -->
|
||||
{if $DomainModel->info_id > 0}
|
||||
<li class="{if $Request.route.strParentCategory == ''}active{/if}">
|
||||
<a href="/">首页</a>
|
||||
@@ -85,7 +77,6 @@
|
||||
</li>
|
||||
{/if}
|
||||
|
||||
<!-- 动态分类导航 -->
|
||||
{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" /}'>
|
||||
@@ -95,7 +86,7 @@
|
||||
{/video:categorytype}
|
||||
|
||||
<li>
|
||||
<a href="{$strRankUrlTemp}">排行榜</a>
|
||||
<a href="{$strRankUrlTemp}">总排行榜</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -123,18 +114,27 @@
|
||||
|
||||
{include file="public/footer" /}
|
||||
|
||||
{block name="customize"}
|
||||
{block name="customize"}{/block}
|
||||
|
||||
|
||||
{/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}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:listexp count="12" sort_type="tuijian" d_key="key" d_val="Video" cache_life="86400" export_name="arrVideoTuijian" /}
|
||||
{video:listexp count="18" 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}
|
||||
@@ -26,7 +31,7 @@
|
||||
"description": "{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}",
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
|
||||
@@ -36,9 +41,12 @@
|
||||
"@type": "VideoObject",
|
||||
"name": "{$DomainModel->d_name}热门推荐预告片",
|
||||
"description": "观看{$DomainModel->d_name}最新电影和电视剧的精彩预告片!",
|
||||
"thumbnailUrl": "https://video1.com/img/video/2024/12/18/17/ai-qing-sheng-huo-di-er-ji.webp",
|
||||
"uploadDate": "2025-05-05",
|
||||
"duration": "m3u8",
|
||||
{volist name="arrVideoTuijian" id="Video" key="key"}
|
||||
{if $key == 1 }
|
||||
"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')}",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}"
|
||||
@@ -46,22 +54,23 @@
|
||||
},
|
||||
{
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 免费高清影视在线观看",
|
||||
"name": "{$DomainModel->d_name} - {$DomainModel->d_logo_text}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"alternateName": "{$DomainModel->d_domain}",
|
||||
"description": "{$DomainModel->d_name}首页提供最新电影、电视剧、综艺、动漫和短剧的免费高清在线观看,热门推荐每日更新!",
|
||||
"description": "{$DomainModel->d_name}首页提供好莱坞最新电影、电视剧、综艺、动漫和短剧的免费高清在线观看,热门推荐每日更新!",
|
||||
"mainEntity": {
|
||||
"@type": "ItemList",
|
||||
"itemListElement": [
|
||||
|
||||
{video:list count="2" sort_type="tuijian" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{volist name="arrVideoTuijian" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": {$key+=1},
|
||||
"position": {$key},
|
||||
"item": {
|
||||
"@type": "TVSeries",
|
||||
"name": "{$Video.v_name}",
|
||||
"url": "https://video1.com/voddetail/ai-qing-sheng-huo-di-er-ji-115959",
|
||||
"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 }
|
||||
@@ -74,13 +83,40 @@
|
||||
"image": "{$Video.v_pic}",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "7.5",
|
||||
"reviewCount": "1200"
|
||||
"ratingValue": "{$Video.v_score}",
|
||||
}
|
||||
}
|
||||
},
|
||||
{/video:list}
|
||||
|
||||
{/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}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -111,7 +147,7 @@
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<a class="more text-muted pull-right"
|
||||
href='{site:vclurl parent_category="all" category="all" area="all" lang="all" year="all" order="tuijian" page="1"/}'>更多<i
|
||||
href='{site:vclurl parent_category="all" category="all" area="all" lang="all" year="all" order="tuijian" page="1"/}'>更多推荐<i
|
||||
class="icon iconfont icon-more"></i></a>
|
||||
<h2 class="title">
|
||||
<img src="/template/videodadi/icon/icon_12.png">
|
||||
@@ -122,13 +158,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{video:list count="2" sort_type="tuijian" d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu" /}
|
||||
{/video:list}
|
||||
|
||||
{foreach $arrVideoTuijian as $key=>$Video }
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="2" sort_type="tuijian" d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu-end-text" /}
|
||||
{video:list count="12" sort_type="tuijian" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu-end-text" start="13" /}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -143,11 +180,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:list count="2"
|
||||
sort_type="piaofang"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb2" /}
|
||||
{/video:list}
|
||||
{foreach $arrVideoPiaofang as $key=>$Video }
|
||||
{include file="public/video-list-phb2" start="27"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -171,10 +206,10 @@
|
||||
</div>
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="10"
|
||||
{video:ranklist count="12"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="50" /}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -43,15 +43,15 @@
|
||||
<i class="icon iconfont icon-less"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="hidden-xs">
|
||||
<!-- <li class="hidden-xs">
|
||||
<a style="color: rgb(155, 154, 207);" class="copylink" href="javascript:;">
|
||||
<i class="icon iconfont icon-share"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="visible-xs">
|
||||
</li> -->
|
||||
<!-- <li class="visible-xs">
|
||||
<a style="color: rgb(124, 1, 82);" class="open-share" href="javascript:;">
|
||||
<i class="icon iconfont icon-share"></i>
|
||||
</a>
|
||||
</li>
|
||||
</li> -->
|
||||
|
||||
</ul>
|
||||
@@ -1,5 +1,8 @@
|
||||
|
||||
<li class="bottom-line-dot paihanban-ul-li">
|
||||
{if !empty($arrGrm[$key + [start]])}
|
||||
{$arrGrm[$key+[start]]|raw}
|
||||
{/if}
|
||||
<?php $key ++ ?>
|
||||
<a
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
|
||||
<li class="bottom-line-dot paihanban-ul-li">
|
||||
{if !empty($arrGrm[$key + [start]])}
|
||||
{$arrGrm[$key+[start]]|raw}
|
||||
{/if}
|
||||
<?php $key ++ ?>
|
||||
<a
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<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}">
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<li>
|
||||
{if !empty($arrGrm[$key + [start]])}
|
||||
{$arrGrm[$key+[start]]|raw}
|
||||
{/if}
|
||||
<a
|
||||
href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
class="text-muted">
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<li class="col-md-6 col-sm-4 col-xs-3">
|
||||
|
||||
<div class="stui-vodlist__box">
|
||||
{if !empty($arrGrm[$key + [start]])}
|
||||
{$arrGrm[$key+[start]]|raw}
|
||||
{/if}
|
||||
<a style="color: rgb(233, 93, 80); background-image: url("/static/img/default.jpg");"
|
||||
|
||||
class="stui-vodlist__thumb lazyload-bg" href='{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}'
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<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}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<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>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<a class="more text-muted pull-right"
|
||||
href='{site:vclurl parent_category="$val.v_category_en" category="all" area="all" lang="all" year="all" order="all" page="1"/}'>更多<i
|
||||
href='{site:vclurl parent_category="$val.v_category_en" category="all" area="all" lang="all" year="all" order="all" page="1"/}'>更多{$val.v_category}<i
|
||||
class="icon iconfont icon-more"></i></a>
|
||||
<h3 class="title">
|
||||
<img src="/template/videodadi/icon/icon_{$val.v_category_en}.png">
|
||||
@@ -14,20 +14,20 @@
|
||||
href="">最新{$val.v_category}</a>
|
||||
</h3>
|
||||
<ul class="nav nav-text pull-right hidden-sm hidden-xs">
|
||||
{video:list count="3" v_category="$val.v_category_en" sort_type="tuijian" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu-top-text" /}
|
||||
{video:list count="3" v_parent_category_en="$val.v_category_en" sort_type="tuijian" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu-top-text" start="60"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{video:list count="2" v_category="$val.v_category_en" sort_type="news" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu" /}
|
||||
{video:list count="12" 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"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="2" v_category="$val.v_category_en" sort_type="news" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu-end-text" /}
|
||||
{video:list count="12" 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-end-text" start="70"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -42,11 +42,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="2"
|
||||
v_category_en="$val.v_category_en"
|
||||
{video:ranklist count="18"
|
||||
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" /}
|
||||
{include file="public/video-list-phb" start="80"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -14,38 +14,94 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
|
||||
{site:grm page_code="h5_category_list_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
{site:helper func="initVideoCategoryTKD" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETCATEGORY@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETCATEGORY@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETCATEGORY@DESCRIPTION"}{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
|
||||
{// 社交媒体标签}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETCATEGORY@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETCATEGORY@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
{switch $Request.route.strParentCategory }
|
||||
{case 'dian-ying' }
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/case}
|
||||
{case 'dian-shi-ju' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'zong-yi' }
|
||||
<meta property="og:type" content="video.tv_show" />
|
||||
{/case}
|
||||
{case 'dong-man' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'duan-ju-da-quan' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{default /}
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/switch}
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 结构化数据}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETCATEGORY@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETCATEGORY@DESCRIPTION"}',
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
}
|
||||
[
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 最新{site:getval code="strVideoParentCategoryName" /}推荐",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"description": "{site:replace code="VIDEO@GETCATEGORYINDEX@DESCRIPTION"}",
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
"hasPart": [
|
||||
{volist name="resData.data" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
{/volist}
|
||||
]
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "首页",
|
||||
"item": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "分类首页",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vciurl prent_category="$Request.route.strParentCategory" /}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "分类列表",
|
||||
"item": "https://{$DomainModel->d_domain}{site:vclurl prent_category="$Request.route.strParentCategory" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
|
||||
@@ -56,14 +112,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
|
||||
|
||||
<div class="container">
|
||||
<!-- <p>route: /vodtype-:strCategory/:strParentCategory-:strArea-:strLang-:strYear-:strOrder-page:intPage </p>
|
||||
<p>strParentCategory :{$Request.route.strParentCategory}</p>
|
||||
<p>strCategory :{$Request.route.strCategory}</p>
|
||||
<p>strLang :{$Request.route.strLang}</p>
|
||||
<p>strArea :{$Request.route.strArea}</p>
|
||||
<p>strYear :{$Request.route.strYear}</p>
|
||||
<p>strOrder :{$Request.route.strOrder}</p>
|
||||
<p>intPage :{$Request.route.intPage}</p> -->
|
||||
|
||||
<h1 class="view-title">
|
||||
|
||||
{site:replace code="VIDEO@GETCATEGORY@H1"}
|
||||
@@ -77,8 +126,18 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoClassName" /}筛选</h3>
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoParentCategoryName" /}筛选</h3>
|
||||
</div>
|
||||
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
|
||||
|
||||
<li><span class="text-muted">按分类</span></li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li
|
||||
class="{if $Request.route.strParentCategory == $val.v_category_en}active{/if}">
|
||||
<a href='{site:vclurl prent_category="$val.v_category_en" category="all" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}' class="text-muted">{$val.v_category}</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
</ul>
|
||||
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
|
||||
|
||||
<li><span class="text-muted">按类型</span></li>
|
||||
@@ -146,7 +205,7 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
{include file="public/video-list-shu" /}
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -179,21 +238,19 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
{/switch}
|
||||
{/volist}
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-lg-wide-25 col-xs-1 stui-pannel-side hidden-sm hidden-xs padding-0">
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">电影周榜单</h3>
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">{site:getval code="strVideoParentCategoryName" /}周榜单</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="10" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{video:ranklist count="20" v_parent_category_en="$Request.route.strParentCategory" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="31"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
@@ -204,13 +261,13 @@ d_key="d_key" d_val="Video" p_val="page_data" func="generateVideoPager" export
|
||||
<div class="stui-pannel-box">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">电影月榜单</h3>
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">{site:getval code="strVideoParentCategoryName" /}月榜单</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="10" sort_type="monthly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{video:ranklist count="20" v_parent_category_en="$Request.route.strParentCategory" sort_type="monthly" d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="51"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
{site:grm page_code="h5_category_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
{site:helper func="initVideoCategoryTypeTKD" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETCATEGORYINDEX@TITLE"}{/block}
|
||||
@@ -15,41 +17,90 @@
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETCATEGORYINDEX@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETCATEGORYINDEX@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
{switch $Request.route.strParentCategory }
|
||||
{case 'dian-ying' }
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/case}
|
||||
{case 'dian-shi-ju' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'zong-yi' }
|
||||
<meta property="og:type" content="video.tv_show" />
|
||||
{/case}
|
||||
{case 'dong-man' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'duan-ju-da-quan' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{default /}
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/switch}
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
[
|
||||
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETCATEGORYINDEX@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETCATEGORYINDEX@DESCRIPTION"}',
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
}
|
||||
"@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 prent_category="$Request.route.strParentCategory" /}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</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@GETCATEGORYINDEX@H1"}
|
||||
@@ -59,11 +110,11 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
|
||||
|
||||
{if $val.v_category_en == $Request.route.strParentCategory}
|
||||
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
@@ -76,35 +127,35 @@
|
||||
<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:getval code="strYear" /}最新{$arrChildrenCategory.v_category}推荐 - {$DomainModel->d_name}
|
||||
<img src="/template/videodadi/icon/icon_27.png"><a style="color: rgb(52, 99, 240);"
|
||||
href='{site:vclurl prent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1"/}'>
|
||||
{site:getval code="strYear" /}最新{$arrChildrenCategory.v_category}推荐 -
|
||||
{$DomainModel->d_name}
|
||||
</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{video:list count="12"
|
||||
{video:list count="12"
|
||||
v_category_en="$arrChildrenCategory.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" /}
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/video:list}
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="12"
|
||||
{video:list count="12"
|
||||
v_category_en="$arrChildrenCategory.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
v_year="all"
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-text2" /}
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-text2" start="13"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -112,18 +163,19 @@
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png"><a
|
||||
style="color: rgb(57, 129, 89);" href="">{$arrChildrenCategory.v_category}周榜单</a>
|
||||
style="color: rgb(57, 129, 89);"
|
||||
href='{site:vrlurl parent_category="$val.v_category_en" category="$arrChildrenCategory.v_category_en" sort_type="weekly" page="1"/}'>{$arrChildrenCategory.v_category}周榜单</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="10"
|
||||
{video:ranklist count="18"
|
||||
v_category_en="$arrChildrenCategory.v_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="27"/}
|
||||
{/video:ranklist}
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -132,8 +184,37 @@
|
||||
{/foreach}
|
||||
{/if}
|
||||
{/video:categorytype}
|
||||
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
|
||||
{video:ranksort d_key="key" d_val="val"}
|
||||
|
||||
<div class="col-lg-4 col-md-3 col-sm-2 col-xs-1">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">{site:getval code="strVideoParentCategoryName" /}{$val}排行榜</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="18"
|
||||
v_parent_category_en="$Request.route.strParentCategory"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" start="50" /}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/video:ranksort}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
{/block}
|
||||
{block name="customize"}
|
||||
|
||||
@@ -2,50 +2,85 @@
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:pagerexp page="1" limit="30"
|
||||
v_class="$Request.route.strClass"
|
||||
d_key="d_key"
|
||||
d_val="Video"
|
||||
p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" export_name="resData" /}
|
||||
|
||||
{site:grm page_code="h5_rank_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANK@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANK@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}{/block}
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANKINDEX@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANKINDEX@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANKINDEX@DESCRIPTION"}{/block}
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANK@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 社交媒体标签}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANKINDEX@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANKINDEX@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="video.movie" />
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANK@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}',
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
}
|
||||
[
|
||||
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 最新排行榜推荐",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANKINDEX@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANKINDEX@DESCRIPTION"}',
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
"hasPart": [
|
||||
{video:ranklist count="5"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
{/video:ranklist}
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "首页",
|
||||
"item": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "排行榜首页",
|
||||
"item": "https://{$DomainModel->d_domain}{$strRankUrlTemp}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head-css"}
|
||||
<link rel="canonical" href="https://{$Request.route.strSiteDomain}/rank/{$Request.route.strVideoClassName}/{$Request.route.strOrderName}">
|
||||
<link rel="canonical" href="https://{$Request.route.strSiteDomain}/rank/{$Request.route.strVideoParentCategoryName}/{$Request.route.strOrderName}">
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}
|
||||
@@ -56,9 +91,9 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<div class="container">
|
||||
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEORANK@H1"}
|
||||
{site:replace code="VIDEO@GETVIDEORANKINDEX@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANK@TEXT"}</h4>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANKINDEX@TEXT"}</h4>
|
||||
|
||||
|
||||
<div class="row">
|
||||
@@ -107,7 +142,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
{video:ranklist count="20"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0" /}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -115,7 +150,6 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
|
||||
{/video:ranksort}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,50 +2,88 @@
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:pagerexp page="1" limit="30"
|
||||
v_class="$Request.route.strClass"
|
||||
d_key="d_key"
|
||||
{video:ranklistexp page="1" limit="30"
|
||||
v_parent_category_en="$Request.route.strParentCategory"
|
||||
v_category_en="$Request.route.strCategory"
|
||||
sort_type="$Request.route.strSortType"
|
||||
d_key="key"
|
||||
d_val="Video"
|
||||
p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" export_name="resData" /}
|
||||
|
||||
p_val="page_data" button_num="10" cache_life="86400" export_name="arrVideoRankList" /}
|
||||
|
||||
{site:grm page_code="h5_rank_list_type" diff="0" num="100" g_key="arrGrm" /}
|
||||
{site:helper func="initVideoRankListTKD" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANK@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANK@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@GETVIDEORANKLIST@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@GETVIDEORANKLIST@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@GETVIDEORANKLIST@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANK@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}' />
|
||||
|
||||
{// 社交媒体标签}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEORANKLIST@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEORANKLIST@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:type" content="video.movie" />
|
||||
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANK@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANK@DESCRIPTION"}',
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
}
|
||||
[
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - 最新排行榜推荐",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"headline": '{site:replace code="VIDEO@GETVIDEORANKLIST@TITLE"}',
|
||||
"description": '{site:replace code="VIDEO@GETVIDEORANKLIST@DESCRIPTION"}',
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}",
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
"hasPart": [
|
||||
{volist name="arrVideoRankList" id="Video" key="key"}
|
||||
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "VideoObject",
|
||||
"name": "{$Video.v_name}",
|
||||
"description": "{$Video.v_description}",
|
||||
"thumbnailUrl": '{$Video.v_pic}',
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
},
|
||||
{/if}
|
||||
{/volist}
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "首页",
|
||||
"item": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "排行榜首页",
|
||||
"item": "https://{$DomainModel->d_domain}{$strRankUrlTemp}"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-css"}
|
||||
<link rel="canonical" href="https://{$Request.route.strSiteDomain}/rank/{$Request.route.strVideoClassName}/{$Request.route.strOrderName}">
|
||||
{/block}
|
||||
{block name="head-js"}
|
||||
|
||||
@@ -54,9 +92,9 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEORANK@H1"}
|
||||
{site:replace code="VIDEO@GETVIDEORANKLIST@H1"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANK@TEXT"}</h4>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEORANKLIST@TEXT"}</h4>
|
||||
<div class="row">
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
@@ -64,7 +102,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoClassName" /}筛选</h3>
|
||||
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoParentCategoryName" /}筛选</h3>
|
||||
</div>
|
||||
|
||||
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
|
||||
@@ -73,12 +111,12 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<li
|
||||
class='{if empty( $Request.route.strParentCategory) || $Request.route.strParentCategory == "" || $Request.route.strParentCategory == "all"}active{/if}'>
|
||||
<a
|
||||
href='{site:vrlurl parent_category="all" category="all" sort_type="Request.route.strSortType" page="1"/}'>全部</a>
|
||||
href='{site:vrlurl parent_category="all" category="all" sort_type="$Request.route.strSortType" page="1"/}'>全部</a>
|
||||
</li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li class="{if $Request.route.strParentCategory == $val.v_category_en}active{/if}">
|
||||
|
||||
<a href='{site:vrlurl parent_category="$val.v_category_en" category="all" sort_type="Request.route.strSortType" page="1"/}'
|
||||
<a href='{site:vrlurl parent_category="$val.v_category_en" category="all" sort_type="$Request.route.strSortType" page="1"/}'
|
||||
class="text-muted">{$val.v_category}</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
@@ -89,14 +127,14 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
<li><span class="text-muted">按类型</span></li>
|
||||
<li
|
||||
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == "" || $Request.route.strCategory == "all"}active{/if}'>
|
||||
<a href='{site:vrlurl parent_category="all" category="all" sort_type="Request.route.strSortType" page="1"/}'>全部</a>
|
||||
<a href='{site:vrlurl parent_category="all" category="all" sort_type="$Request.route.strSortType" page="1"/}'>全部</a>
|
||||
</li>
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
{if $val.v_category_en == $Request.route.strParentCategory}
|
||||
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
|
||||
<li
|
||||
class="{if $Request.route.strCategory == $arrChildrenCategory.v_category_en}active{/if}">
|
||||
<a href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" sort_type="Request.route.strSortType" page="1"/}' class="text-muted">{$arrChildrenCategory.v_category}</a>
|
||||
<a href='{site:vrlurl parent_category="$Request.route.strParentCategory" category="$arrChildrenCategory.v_category_en" sort_type="$Request.route.strSortType" page="1"/}' class="text-muted">{$arrChildrenCategory.v_category}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if}
|
||||
@@ -126,8 +164,8 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist clearfix">
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
{include file="public/video-list-shu" /}
|
||||
{foreach $arrVideoRankList as $key=>$Video}
|
||||
{include file="public/video-list-shu" start="0" /}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -150,7 +188,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
v_parent_category_en="dian-ying"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0" /}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
@@ -170,7 +208,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" e
|
||||
v_parent_category_en="dian-shi-ju"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0" /}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -15,30 +15,74 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
{block name="description"}{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<meta property="og:title" content="动作电影 - 第1页 - 大地影视搜索">
|
||||
<meta property="og:description" content="大地影视搜索动作电影 第1页,最新视频免费观看,免费视频,热门影视,视频网站,访问video1.com发现更多!">
|
||||
<meta property="og:image" content="https://video1.com/img/search.webp">
|
||||
<meta property="og:url" content="https://video1.com/search?q=动作电影&page=1">
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETSEARCHVIDEO@TITLE"}'>
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}'>
|
||||
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}'>
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="大地影视">
|
||||
<meta property="og:site_name" content='{$DomainModel->d_name}'>
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="动作电影 第1页 - 大地影视">
|
||||
<meta name="twitter:description" content="搜索动作电影 第1页,大地影视提供最新视频,免费视频,热门影视,视频网站,立即访问video1.com!">
|
||||
<meta name="twitter:image" content="https://video1.com/img/search.webp">
|
||||
<meta name="twitter:title" content='{site:replace code="VIDEO@GETSEARCHVIDEO@TITLE"}'>
|
||||
<meta name="twitter:description" content='{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}'>
|
||||
<meta name="twitter:image:alt" content="动作电影 搜索结果第1页">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 结构化数据}
|
||||
<script type="application/ld+json">
|
||||
[
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "SearchResultsPage",
|
||||
"name": "{strSearchKeywords} 第{intPage}页",
|
||||
"url": "https://{strSiteDomain}/search?q={strSearchKeywords}&page={intPage}",
|
||||
"description": "{strSiteName}搜索{strSearchKeywords} 第{intPage}页,最新视频免费观看"
|
||||
"@type": "WebSite",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"alternateName": "{$DomainModel->d_domain}",
|
||||
"description": "{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}",
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": 'https://{$DomainModel->d_domain}{site:vsurl key="search_term_string" p="1"/}',
|
||||
"query-input": "required name=search_term_string"
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"@type": "CollectionPage",
|
||||
"name": "{$DomainModel->d_name} - {$DomainModel->d_logo_text}",
|
||||
"url": "https://{$DomainModel->d_domain}",
|
||||
"alternateName": "{$DomainModel->d_domain}",
|
||||
"description": '{site:replace code="VIDEO@GETSEARCHVIDEO@DESCRIPTION"}',
|
||||
"mainEntity": {
|
||||
"@type": "ItemList",
|
||||
"itemListElement": [
|
||||
{volist name="resData.data" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": {$key},
|
||||
"item": {
|
||||
"@type": "Movies",
|
||||
"name": "{$Video.v_name}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/}',
|
||||
"description": "{$Video.v_description}",
|
||||
"actor": [
|
||||
{foreach $Video.v_actor as $strActorKey=>$strActor }
|
||||
{if $strActorKey < 5 }
|
||||
{ "@type": "Person", "name": "{$strActor}" },
|
||||
{/if}
|
||||
{/foreach}
|
||||
],
|
||||
"numberOfEpisodes": {$Video.v_play_url|count},
|
||||
"image": "{$Video.v_pic}",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "{$Video.v_score}",
|
||||
}
|
||||
}
|
||||
},
|
||||
{/if}
|
||||
{/volist}
|
||||
]
|
||||
}
|
||||
}
|
||||
</script>
|
||||
]
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -72,6 +116,9 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
|
||||
{foreach $resData.data as $key=>$Video}
|
||||
<li class="active clearfix">
|
||||
{if !empty($arrGrm[$key])}
|
||||
{$arrGrm[$key]|raw}
|
||||
{/if}
|
||||
<div class="thumb"><a
|
||||
|
||||
class="v-thumb stui-vodlist__thumb lazyload-bg"
|
||||
@@ -166,7 +213,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
v_parent_category_en="dian-ying"
|
||||
sort_type="total"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="11"/}
|
||||
{/video:ranklist}
|
||||
|
||||
|
||||
@@ -187,7 +234,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
|
||||
v_parent_category_en="dian-shi-ju"
|
||||
sort_type="total"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="31"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
{block name="get-data"}
|
||||
|
||||
{if $Request.route.intVId}
|
||||
{video:info v_id="$Request.route.intVId" v_key="arrVideo" /}
|
||||
{video:info v_id="$Request.route.intVId" v_key="arrVideo" /}
|
||||
{else}
|
||||
{video:info v_id="$DomainModel->info_id" n_key="arrVideo" n_forge_id="0" /}
|
||||
{video:info v_id="$DomainModel->info_id" n_key="arrVideo" n_forge_id="0" /}
|
||||
{/if}
|
||||
{site:grm page_code="h5_video_info" diff="$arrVideo.v_id" num="120" g_key="arrGrm" /}
|
||||
|
||||
@@ -38,36 +38,93 @@
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// Open Graph 协议(用于Facebook、LinkedIn等)}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
|
||||
{switch $arrVideo.v_parent_category_en }
|
||||
{case 'dian-ying' }
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/case}
|
||||
{case 'dian-shi-ju' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'zong-yi' }
|
||||
<meta property="og:type" content="video.tv_show" />
|
||||
{/case}
|
||||
{case 'dong-man' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'duan-ju-da-quan' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{default /}
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/switch}
|
||||
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'>
|
||||
<meta property="og:image" content="{$arrVideo.v_pic}">
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}">
|
||||
<meta property="og:video:type" content="video/m3u8">
|
||||
|
||||
{// Twitter Card(用于Twitter/X)}
|
||||
<meta name="twitter:card" content="player">
|
||||
<meta name="twitter:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
|
||||
<meta name="twitter:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
|
||||
<meta name="twitter:image" content="{$arrVideo.v_pic}">
|
||||
|
||||
{// 结构化数据}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": "{strVideoName}",
|
||||
"description": "{strVideoDescription}",
|
||||
"director": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoDirector}"
|
||||
},
|
||||
"actor": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoActor}"
|
||||
},
|
||||
"thumbnailUrl": "",
|
||||
"url": "",
|
||||
"inLanguage": "{strLangName}",
|
||||
"contentLocation": {
|
||||
"@type": "Place",
|
||||
"name": "{strAreaName}"
|
||||
}
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": "{$arrVideo.v_name}",
|
||||
"description": "{$arrVideo.v_description}",
|
||||
"thumbnailUrl": "{$arrVideo.v_pic}",
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}',
|
||||
|
||||
"inLanguage": [
|
||||
{volist name='$arrVideo.v_lang' id='strVideoLang' key='index'}
|
||||
"{$strVideoLang}",
|
||||
{/volist}
|
||||
],
|
||||
"contentLocation": [
|
||||
{volist name='$arrVideo.v_area' id='strVideoArea' key='index'}
|
||||
{
|
||||
"@type": "Place",
|
||||
"name": "{$strVideoArea}"
|
||||
},
|
||||
{/volist}
|
||||
],
|
||||
|
||||
"director": [
|
||||
{volist name='$arrVideo.v_director' id='strVideoDirector' key='index'}
|
||||
{
|
||||
"@type": "Person",
|
||||
"name": "{$strVideoDirector}"
|
||||
}
|
||||
{/volist}
|
||||
],
|
||||
"actor": [
|
||||
{volist name='$arrVideo.v_actor' id='strVideoActor' key='index'}
|
||||
{
|
||||
"@type": "Person",
|
||||
"name": "{$strVideoActor}"
|
||||
},
|
||||
{/volist}
|
||||
],
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "{$arrVideo.v_score}",
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
}
|
||||
</script>
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -75,9 +132,9 @@
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
<h1 class="view-title">
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@H1"}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@H1" diff="$arrVideo.v_id"}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEOINFO@TEXT"}</h4>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETVIDEOINFO@TEXT" diff="$arrVideo.v_id"}</h4>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
@@ -88,9 +145,11 @@
|
||||
当前位置
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
</span>
|
||||
<a style="color: rgb(178, 251, 104)" href="/">首页</a>
|
||||
<a class="nav-item-a" href="/">首页</a>
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
<a style="color: rgb(226, 55, 35)" href="">{$arrVideo.v_category}</a>
|
||||
<a class="nav-item-a" href='{site:vciurl prent_category="$arrVideo.v_parent_category_en" /}'>{$arrVideo.v_parent_category}</a>
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
<a class="nav-item-a" href='{site:vclurl prent_category="$arrVideo.v_parent_category_en" category="$arrVideo.v_category_en" area="all" lang="all" year="all" order="all" page="1"}'>{$arrVideo.v_category}</a>
|
||||
<i class="icon iconfont icon-more"></i>
|
||||
<span class="text-muted">{$arrVideo.v_name}</span>
|
||||
</div>
|
||||
@@ -106,16 +165,16 @@
|
||||
|
||||
|
||||
<div class="stui-content__detail">
|
||||
<h1 class="title">
|
||||
<h2 class="title">
|
||||
《{$arrVideo.v_name}》<span class="score text-red">{$arrVideo.v_score}</span>
|
||||
</h1>
|
||||
</h2>
|
||||
<p class="data">
|
||||
<span class="text-muted">类型:</span>
|
||||
<a href='{site:vsurl key="$arrVideo.v_category" p="1"/}'>{$arrVideo.v_category}</a>
|
||||
|
||||
<span class="split-line"></span>
|
||||
<span class="text-muted hidden-xs">地区:</span>
|
||||
{volist name='$arrVideo.v_actor' id='vo' key='index'}
|
||||
{volist name='$arrVideo.v_area' id='vo' key='index'}
|
||||
<a style="color: rgb(240, 3, 132)" href='{site:vsurl key="$vo" p="1"/}'>{$vo}</a>
|
||||
|
||||
{/volist}
|
||||
@@ -143,9 +202,8 @@
|
||||
<span class="text-muted">更新:</span>{$arrVideo.v_publish_date}
|
||||
</p>
|
||||
<p class="desc hidden-xs">
|
||||
<span class="left text-muted">简介:</span>
|
||||
{$arrVideo.v_description|raw}
|
||||
<a>
|
||||
<span class="left text-muted">简介:{$arrVideo.v_description|raw}</span>
|
||||
<a href="#desc">
|
||||
详情
|
||||
<i class="icon iconfont icon-moreunfold"></i>
|
||||
</a>
|
||||
@@ -237,7 +295,7 @@
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" /}
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
@@ -249,7 +307,7 @@
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-text2" /}
|
||||
{include file="public/video-list-text2" start="13"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
@@ -269,11 +327,11 @@
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="12"
|
||||
{video:ranklist count="18"
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="25"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -290,11 +348,11 @@
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="12"
|
||||
{video:ranklist count="18"
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="monthly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="45"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -1,122 +1,125 @@
|
||||
{extend name="base" /}
|
||||
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{if $Request.route.intVId}
|
||||
{video:info v_id="$Request.route.intVId" n_key="arrVideo" n_forge_id="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{video:info v_id="$DomainModel->info_id" n_key="arrVideo" n_forge_id="0" /}
|
||||
{/if}
|
||||
{video:info v_id="$Request.route.intVId" v_key="arrVideo" /}
|
||||
{site:grm page_code="h5_video_info" diff="$arrVideo.v_id" num="120" g_key="arrGrm" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@TITLE" diff="$Request.route.intVId" /}
|
||||
{/if}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@TITLE" diff="$Request.route.intVId" /}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@KEYWORDS" diff="$Request.route.intVId"}
|
||||
{/if}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@KEYWORDS" diff="$Request.route.intVId"}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intVId || empty($Request.route.intVId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION" diff="$Request.route.intVId"}
|
||||
{/if}
|
||||
{site:replace code="VIDEO@GETVIDEOPLAY@DESCRIPTION" diff="$Request.route.intVId"}
|
||||
{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOPLAY@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOPLAY@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// Open Graph 协议(用于Facebook、LinkedIn等)}
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
|
||||
{switch $arrVideo.v_parent_category_en }
|
||||
{case 'dian-ying' }
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/case}
|
||||
{case 'dian-shi-ju' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'zong-yi' }
|
||||
<meta property="og:type" content="video.tv_show" />
|
||||
{/case}
|
||||
{case 'dong-man' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{case 'duan-ju-da-quan' }
|
||||
<meta property="og:type" content="video.episode" />
|
||||
{/case}
|
||||
{default /}
|
||||
<meta property="og:type" content="video.movie" />
|
||||
{/switch}
|
||||
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'>
|
||||
<meta property="og:image" content="{$arrVideo.v_pic}">
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}">
|
||||
<meta property="og:video:type" content="video/m3u8">
|
||||
|
||||
{// Twitter Card(用于Twitter/X)}
|
||||
<meta name="twitter:card" content="player">
|
||||
<meta name="twitter:title" content='{site:replace code="VIDEO@GETVIDEOINFO@TITLE"}'>
|
||||
<meta name="twitter:description" content='{site:replace code="VIDEO@GETVIDEOINFO@DESCRIPTION"}'>
|
||||
<meta name="twitter:image" content="{$arrVideo.v_pic}">
|
||||
|
||||
{// 结构化数据}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": "{strVideoName}",
|
||||
"description": "{strVideoDescription}",
|
||||
"director": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoDirector}"
|
||||
},
|
||||
"actor": {
|
||||
"@type": "Person",
|
||||
"name": "{strVideoActor}"
|
||||
},
|
||||
"thumbnailUrl": "https://{strSiteDomain}/img/video/{strYear}/{strVideoName}.webp",
|
||||
"url": "https://{strSiteDomain}/voddetail/{strVideoName}",
|
||||
"inLanguage": "{strLangName}",
|
||||
"contentLocation": {
|
||||
"@type": "Place",
|
||||
"name": "{strAreaName}"
|
||||
}
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": "{$arrVideo.v_name}",
|
||||
"description": "{$arrVideo.v_description}",
|
||||
"thumbnailUrl": "{$arrVideo.v_pic}",
|
||||
"uploadDate": "{:date('y-m-d')}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}',
|
||||
|
||||
"inLanguage": [
|
||||
{volist name='$arrVideo.v_lang' id='strVideoLang' key='index'}
|
||||
"{$strVideoLang}",
|
||||
{/volist}
|
||||
],
|
||||
"contentLocation": [
|
||||
{volist name='$arrVideo.v_area' id='strVideoArea' key='index'}
|
||||
{
|
||||
"@type": "Place",
|
||||
"name": "{$strVideoArea}"
|
||||
},
|
||||
{/volist}
|
||||
],
|
||||
|
||||
"director": [
|
||||
{volist name='$arrVideo.v_director' id='strVideoDirector' key='index'}
|
||||
{
|
||||
"@type": "Person",
|
||||
"name": "{$strVideoDirector}"
|
||||
}
|
||||
{/volist}
|
||||
],
|
||||
"actor": [
|
||||
{volist name='$arrVideo.v_actor' id='strVideoActor' key='index'}
|
||||
{
|
||||
"@type": "Person",
|
||||
"name": "{$strVideoActor}"
|
||||
},
|
||||
{/volist}
|
||||
],
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "{$arrVideo.v_score}",
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
}
|
||||
</script>
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="head-css"}
|
||||
<link rel="stylesheet" href="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.24.0/DPlayer.min.css">
|
||||
<style type="text/css">
|
||||
.stui-player__head {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dplayer-video-wrap {
|
||||
max-height: 480px;
|
||||
}
|
||||
|
||||
video {
|
||||
max-height: 480px;
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
body {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.stui-header__top {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stui-player__head {
|
||||
display: block;
|
||||
padding: 15px;
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.stui-player__head a {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head-js"}
|
||||
<script type="text/javascript"
|
||||
src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/hls.js/1.1.5-0.canary.8257/hls.min.js" defer></script>
|
||||
<script type="text/javascript" src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.26.0/DPlayer.min.js"
|
||||
defer></script>
|
||||
{/block}
|
||||
|
||||
{block name='body-class'}video-play-page{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="container">
|
||||
|
||||
@@ -268,7 +271,7 @@
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
|
||||
{include file="public/video-list-shu" /}
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
@@ -280,7 +283,7 @@
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-text2" /}
|
||||
{include file="public/video-list-text2" start="0" /}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -303,7 +306,7 @@
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -323,7 +326,7 @@
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="monthly"
|
||||
d_key="key" d_val="Video" cache_life="86400"}
|
||||
{include file="public/video-list-phb" /}
|
||||
{include file="public/video-list-phb" start="0"/}
|
||||
{/video:ranklist}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -346,20 +349,6 @@
|
||||
'v_category': `{$arrVideo['v_category']}`,
|
||||
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
<script>
|
||||
function findFirstUrl(obj) {
|
||||
for (const key in obj) {
|
||||
const data = obj[key];
|
||||
if (Array.isArray(data) && data.length > 0 && data[0].url) {
|
||||
return data[0].url;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
var intPlayUrlIndex = '{$Request.route.intPlayIndex}'
|
||||
var strPlayType = '{$Request.route.strPlayType}'
|
||||
var intJumpTimeFirst = 1;
|
||||
@@ -367,83 +356,20 @@
|
||||
var intJumpTimeTwoEnd = 1;
|
||||
var arrPlayUrl = {$arrVideo.v_play_url|json_encode|raw} ;
|
||||
var strPlayUrl = ""
|
||||
|
||||
if (strPlayType == 'default') {
|
||||
strPlayUrl = findFirstUrl(arrPlayUrl)
|
||||
} else {
|
||||
var ActivePlayUrl = arrPlayUrl[strPlayType][intPlayUrlIndex - 1]
|
||||
strPlayUrl = ActivePlayUrl.url
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
initDPlayer(strPlayUrl)
|
||||
function initDPlayer(strPlayUrl) {
|
||||
let DomDPlayer = document.getElementById('dplayer')
|
||||
videoPlayer = new DPlayer({
|
||||
container: DomDPlayer,
|
||||
autoplay: true,
|
||||
screenshot: false,
|
||||
//logo: dplayerLogo,
|
||||
video: {
|
||||
url: strPlayUrl,
|
||||
type: 'hls',
|
||||
},
|
||||
pluginOptions: {
|
||||
hls: {
|
||||
maxBufferLength: 600,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
videoPlayer.play()
|
||||
|
||||
// 监听全屏进入事件
|
||||
videoPlayer.on('fullscreen', function () {
|
||||
DomDPlayer.classList.add("dp-fullscreen");
|
||||
// 设置视频元素的样式,取消 max-height
|
||||
document.querySelector("video").style.maxHeight = "none";
|
||||
});
|
||||
|
||||
// 监听全屏退出事件
|
||||
videoPlayer.on('fullscreen_cancel', function () {
|
||||
DomDPlayer.classList.remove("dp-fullscreen");
|
||||
// 恢复 max-height 为 480px
|
||||
document.querySelector("video").style.maxHeight = "480px";
|
||||
});
|
||||
|
||||
videoPlayer.on('error', function () {
|
||||
|
||||
});
|
||||
videoPlayer.on('play', function () {
|
||||
console.log('play')
|
||||
// 确保视频准备好后再进行跳转
|
||||
// setTimeout(() => {
|
||||
// if (videoPlayer.video.readyState >= 2) {
|
||||
// // readyState >= 2 表示元数据已加载
|
||||
// videoPlayer.seek(20); // 跳转到 20 分钟
|
||||
// }
|
||||
// }, 1000); // 等待一会儿确保视频已开始
|
||||
});
|
||||
// 监听当前播放时间
|
||||
videoPlayer.on('timeupdate', function () {
|
||||
if (videoPlayer.video.currentTime < intJumpTimeFirst) { // 当前时间小于 20 秒
|
||||
videoPlayer.seek(intJumpTimeFirst); // 跳过到 20 秒
|
||||
}
|
||||
if (videoPlayer.video.currentTime >= intJumpTimeTwoStart && videoPlayer.video.currentTime < intJumpTimeTwoEnd) { // 当前时间小于 20 秒
|
||||
videoPlayer.seek(intJumpTimeTwoEnd + 1); // 跳过到 20 秒
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
// 页面加载时执行
|
||||
// $(document).ready(function () {
|
||||
// let vod_name = $("h1 a").text();
|
||||
// let vod_url = window.location.pathname;
|
||||
// let vod_part = $(".stui-content__playlist .active a").text();
|
||||
// addHistory(vod_name, vod_url, vod_part)
|
||||
// history();
|
||||
// });
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="footer-js"}
|
||||
|
||||
<script type="text/javascript"
|
||||
src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/hls.js/1.1.5-0.canary.8257/hls.min.js" defer></script>
|
||||
<script type="text/javascript" src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.26.0/DPlayer.min.js"
|
||||
defer></script>
|
||||
|
||||
|
||||
{/block}
|
||||
@@ -10,14 +10,14 @@
|
||||
'{strLangName}' => '这个是语言名字..',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{intPage}' => '当前页面分页页码',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
目前 优化分类列表页面:分类首页有分页 {intPage} 是这的占位符,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
筛选条件1 按地区筛选: 中国 , 美国 .. 注意:{strAreaName} 是这些的占位符 ;
|
||||
筛选条件2 按语言筛选: 汉语,英语 .. 注意:{strLangName} 是这些的占位符 ;
|
||||
@@ -34,20 +34,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
@@ -24,20 +24,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
@@ -24,20 +24,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{sub_categories}等,{strSiteKeywords},立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{sub_categories}等,{strSiteKeywords},立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
注意:目前 优化排行榜页面:排行榜页面没有分页,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
|
||||
筛选条件1 按排序筛选: 天排行榜,周排行榜,月排行榜,总排行榜,票房排行榜 .. 注意:{strOrderName} 是这些的占位符 ;
|
||||
@@ -30,20 +30,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}{strVideoClassName}排行榜 - {strSiteName} - 高清热门{strVideoClassName}'
|
||||
'{strYear}{strVideoParentCategoryName}排行榜 - {strSiteName} - 高清热门{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'{strVideoClassName}排行榜,热门{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
'{strVideoParentCategoryName}排行榜,热门{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}精选{strYear}{strVideoClassName}排行榜,免费观看高清热门{strVideoClassName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
'{strSiteName}精选{strYear}{strVideoParentCategoryName}排行榜,免费观看高清热门{strVideoParentCategoryName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}{strVideoClassName}排行榜'
|
||||
'{strSiteName} - {strYear}{strVideoParentCategoryName}排行榜'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
78
code/app/home/view/videoDadi/推广SEO过程设计记录/TKD/排行榜首页 TKD 模板.md
Normal file
78
code/app/home/view/videoDadi/推广SEO过程设计记录/TKD/排行榜首页 TKD 模板.md
Normal file
@@ -0,0 +1,78 @@
|
||||
很好,下面是我整理了一份格式,你根据这个格式 返回我需要的高质量内容
|
||||
{strSiteKeywords} = 免费视频,热门影视,视频网站
|
||||
最牛的seo 优化大师
|
||||
这个是 替换标识 这个页面下面的标签都可以使用 ,{strSiteKeywords} 是全局公用关键词,你看看怎么使用
|
||||
|
||||
'{strSiteName}' => '这个是网站名',
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'
|
||||
|
||||
目前在搭建一个视频站点:
|
||||
站点页面 有:首页,分类首页,分类列表页面,排行榜首页,排行榜列表页面,搜索页面,视频详情页面,视频播放页面
|
||||
注意:目前 优化排行榜首页:排行榜页面没有分页,
|
||||
|
||||
分类列表页 展示内容: 日,周 ,月,总 四个排行榜列表,每个列表展示20个视频;
|
||||
需要你帮忙设计 TKD 模板,
|
||||
h1标签内容 模板,
|
||||
h4标签(页面介绍描述,主要是丰富页面 友好seo),
|
||||
因为我后面需要部署大量域名站点 都使用同一个视图模板,所以要设计不同的 seo 替换模板
|
||||
|
||||
请根据路由和上面的替换标识和描述,你帮忙设计50套最友好seo的 tkd. h1 . h4 替换模板,字数要符合常规,不要超标也不要少,质量要保证,多参考其它 权重高的视频站点设计,
|
||||
需要完整 50 套模板的详细文本(而非代表性示例),不要重复
|
||||
注意 占位替换模板只能使用我上面列出来的,如果需要增加请告诉我,尽量把上面的占位符都使用上
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
|
||||
..
|
||||
]
|
||||
description: [
|
||||
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
|
||||
..
|
||||
]
|
||||
|
||||
h4 :[
|
||||
|
||||
..
|
||||
]
|
||||
注意:h4: 确保 <h4> 内容自然,长度适中(50-120 字)(作用是丰富列表页面内容的文案)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"title": [
|
||||
|
||||
],
|
||||
"keywords": [
|
||||
|
||||
],
|
||||
"description": [
|
||||
|
||||
],
|
||||
"h1": [
|
||||
|
||||
],
|
||||
"h4": [
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
@@ -58,14 +58,14 @@
|
||||
注意:h4: 确保 <h4> 内容自然,长度适中(50-120 字)(作用是丰富列表页面内容的文案)
|
||||
|
||||
|
||||
感谢你的详细需求!你的目标是为视频站点的视频播放页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,并补充 50 套社交媒体标签模板(Open Graph 和 Twitter Card),以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoClassName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}, {strVideoDescription}, {intPlayIndex})。
|
||||
感谢你的详细需求!你的目标是为视频站点的视频播放页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,并补充 50 套社交媒体标签模板(Open Graph 和 Twitter Card),以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoParentCategoryName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}, {strVideoDescription}, {intPlayIndex})。
|
||||
|
||||
视频播放页面与视频详情页面高度相似,但增加了播放器(播放 m3u8 文件),且对于电视剧包含集数(通过 {intPlayIndex} 表示)。以下是根据你的要求设计的 完整 50 套 TKD、H1、H4 模板 和 50 套社交媒体标签模板,专为视频播放页面优化,确保高质量、无重复,参考高权重视频站点的 SEO 和社交媒体策略(如爱奇艺的“电视剧名称 第X集 - 在线观看”)。
|
||||
|
||||
设计原则
|
||||
TKD、H1、H4 模板
|
||||
SEO 友好:
|
||||
Title:60-70 字符,突出 {strVideoName}、 {intPlayIndex}(如“第1集”)、 {strVideoClassName},吸引点击。
|
||||
Title:60-70 字符,突出 {strVideoName}、 {intPlayIndex}(如“第1集”)、 {strVideoParentCategoryName},吸引点击。
|
||||
Keywords:6-8 个关键词,融入 {strSiteKeywords}, {strVideoActor}, {intPlayIndex},覆盖高频搜索词(如“电视剧名称 第1集”)。
|
||||
Description:120-160 字符,包含 {strVideoName}, {strVideoDescription:50}, {intPlayIndex} 和行动号召。
|
||||
H1:20-40 字符,突出 {strVideoName} 和 {intPlayIndex},适合页面显示。
|
||||
@@ -88,7 +88,7 @@ H4:50-120 字(约 100-200 字符)。
|
||||
腾讯视频:H1 简洁(如“电视剧名称 第X集”),Keywords 覆盖主演和集数。
|
||||
优酷:Description 突出“在线播放”、“高清”。
|
||||
占位符使用:
|
||||
尽量融入 {strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoClassName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex}。
|
||||
尽量融入 {strSiteName}, {strSiteDomain}, {strSiteKeywords}, {strYear}, {strVideoParentCategoryName}, {strVideoCategoryName}, {strAreaName}, {strLangName}, {strVideoName}, {strVideoDirector}, {strVideoActor}, {strVideoDescription}, {intPlayIndex}。
|
||||
{intPlayIndex} 在电视剧播放页面中高频使用(如“第{intPlayIndex}集”),电影播放页面可省略或替换为“正片”。
|
||||
社交媒体标签模板
|
||||
SEO 和分享优化:
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
@@ -59,11 +59,11 @@
|
||||
|
||||
|
||||
|
||||
感谢你的详细需求!你的目标是为视频站点的视频详情页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoClassName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}、{strVideoDescription})。
|
||||
感谢你的详细需求!你的目标是为视频站点的视频详情页面设计 50 套高质量、互不重复的 SEO 优化 TKD(Title、Keywords、Description)、H1 和 H4 模板,以支持多域名部署,并确保模板符合 SEO 最佳实践、字数要求和内容质量。你提供了占位符({strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoParentCategoryName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription})和全局关键词(免费视频,热门影视,视频网站),并要求参考高权重视频站点(如爱奇艺、腾讯视频、优酷),确保 <h4> 内容自然、长度适中(50-120 字),且模板仅使用指定占位符,尽量融入所有占位符,尤其是重要占位符(如 {strVideoName}、{strVideoDescription})。
|
||||
|
||||
以下是根据你的要求设计的 完整 50 套详细、无重复的 SEO 优化模板,针对视频详情页面(包含视频的详细信息,如名称、导演、演员、简介等)。模板参考高权重视频站点的 SEO 策略(如爱奇艺的“电影名称 - 在线观看 - 爱奇艺”),注重关键词密度、语义清晰、用户吸引力和多域名适配。每个模板确保:
|
||||
|
||||
Title:60-70 字符,突出 {strVideoName}、 {strVideoClassName},吸引点击。
|
||||
Title:60-70 字符,突出 {strVideoName}、 {strVideoParentCategoryName},吸引点击。
|
||||
Keywords:6-8 个关键词,融入 {strSiteKeywords}、{strVideoActor},覆盖高频搜索词。
|
||||
Description:120-160 字符,包含 {strVideoName}、 {strVideoDescription}(截取前50字)和行动号召。
|
||||
H1:20-40 字符,突出 {strVideoName},适合页面显示。
|
||||
@@ -71,14 +71,14 @@ H4:50-120 字,自然流畅,引导用户,丰富页面内容。
|
||||
设计原则
|
||||
SEO 友好:
|
||||
模板融入高频关键词(如“在线观看”、“高清”、“免费”),参考高权重视频站点的标题结构(如“2025电影名称 - 腾讯视频”)。
|
||||
确保 Title、Keywords、Description 和 H1/H4 关键词一致,强化页面主题(如 {strVideoName}、 {strVideoClassName})。
|
||||
确保 Title、Keywords、Description 和 H1/H4 关键词一致,强化页面主题(如 {strVideoName}、 {strVideoParentCategoryName})。
|
||||
{strVideoDescription} 在 Description 中截取前50字,确保语义完整,符合 SEO 规范。
|
||||
独特性:
|
||||
50 套模板通过措辞变化(如“热播”、“精选”、“热门”)、占位符组合(如 {strVideoActor}、 {strVideoDirector})和结构调整(如站点名称位置)保持多样性。
|
||||
避免与视频播放页面或其他页面(如分类列表页)冲突,详情页面强调 {strVideoName}、 {strVideoDescription} 和 {strVideoActor}。
|
||||
多域名适配:
|
||||
使用指定占位符(未新增任何占位符)支持批量部署。
|
||||
{strVideoClassName} 动态替换大分类(如“电影”),{strVideoCategoryName} 替换小分类(如“动作片”),{strVideoName} 替换具体视频名称。
|
||||
{strVideoParentCategoryName} 动态替换大分类(如“电影”),{strVideoCategoryName} 替换小分类(如“动作片”),{strVideoName} 替换具体视频名称。
|
||||
字数控制:
|
||||
Title:60-70 字符。
|
||||
Keywords:6-8 个关键词。
|
||||
@@ -90,6 +90,6 @@ H4:50-120 字(约 100-200 字符)。
|
||||
腾讯视频:H1 简洁(如“电影名称”),Description 突出“主演”、“导演”。
|
||||
优酷:Keywords 覆盖广泛(如“电影名称、演员、免费在线观看”)。
|
||||
占位符使用:
|
||||
所有模板尽量融入 {strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoClassName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription}。
|
||||
所有模板尽量融入 {strSiteName}、{strSiteDomain}、{strSiteKeywords}、{strYear}、{strVideoParentCategoryName}、{strVideoCategoryName}、{strAreaName}、{strLangName}、{strVideoName}、{strVideoDirector}、{strVideoActor}、{strVideoDescription}。
|
||||
{strVideoDescription} 在 Description 中截取前50字(如“{strVideoDescription:50}”),H4 中使用完整简介或部分引导语。
|
||||
重要占位符(如 {strVideoName}、{strVideoDescription}、{strVideoActor})在每套模板中高频使用
|
||||
@@ -9,13 +9,13 @@
|
||||
'{strLangName}' => '这个是语言名字..',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{intPage}' => '当前页面分页页码',
|
||||
|
||||
分类列表页面:
|
||||
分类首页有分页 {intPage} 是这的占位符,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
筛选条件1 按地区筛选: 中国 , 美国 .. 注意:{strAreaName} 是这些的占位符 ;
|
||||
筛选条件2 按语言筛选: 汉语,英语 .. 注意:{strLangName} 是这些的占位符 ;
|
||||
@@ -30,20 +30,20 @@
|
||||
|
||||
返回格式例子:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
|
||||
分类首页:
|
||||
没有分页,一共有5大分类: 电影,电视剧,综艺,动漫,短剧 ;
|
||||
@@ -19,20 +19,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}最新{strVideoClassName}推荐 - {strSiteName} - 免费高清{strVideoClassName}'
|
||||
'{strYear}最新{strVideoParentCategoryName}推荐 - {strSiteName} - 免费高清{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'最新{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strYear}{strVideoClassName}排行榜,{strVideoClassName}推荐',
|
||||
'最新{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strYear}{strVideoParentCategoryName}排行榜,{strVideoParentCategoryName}推荐',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}提供{strYear}最新{strVideoClassName},免费在线观看高清{strVideoClassName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
'{strSiteName}提供{strYear}最新{strVideoParentCategoryName},免费在线观看高清{strVideoParentCategoryName},包括{strSiteKeywords}等,立即访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}最新{strVideoClassName}推荐'
|
||||
'{strSiteName} - {strYear}最新{strVideoParentCategoryName}推荐'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strOrderName}' => '这个是排序名字..',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
|
||||
排行榜页面:
|
||||
排行榜页面没有分页,
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoClassName} 是这些的占位符 ;
|
||||
一共有5大分类: 电影,电视剧,综艺,动漫,短剧 注意:{strVideoParentCategoryName} 是这些的占位符 ;
|
||||
每个大分类下面有N个小分类: 动作片 , 爱情片 .. 注意:{strVideoCategoryName} 是这些的占位符 ;
|
||||
|
||||
筛选条件1 按排序筛选: 天排行榜,周排行榜,月排行榜,总排行榜,票房排行榜 .. 注意:{strOrderName} 是这些的占位符 ;
|
||||
@@ -25,20 +25,20 @@
|
||||
|
||||
返回格式:
|
||||
title :[
|
||||
'{strYear}{strVideoClassName}排行榜 - {strSiteName} - 高清热门{strVideoClassName}'
|
||||
'{strYear}{strVideoParentCategoryName}排行榜 - {strSiteName} - 高清热门{strVideoParentCategoryName}'
|
||||
..
|
||||
]
|
||||
|
||||
keywords: [
|
||||
'{strVideoClassName}排行榜,热门{strVideoClassName},高清{strVideoClassName},免费{strVideoClassName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
'{strVideoParentCategoryName}排行榜,热门{strVideoParentCategoryName},高清{strVideoParentCategoryName},免费{strVideoParentCategoryName}在线观看,{strSiteName},{strSiteKeywords}',
|
||||
..
|
||||
]
|
||||
description: [
|
||||
'{strSiteName}精选{strYear}{strVideoClassName}排行榜,免费观看高清热门{strVideoClassName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
'{strSiteName}精选{strYear}{strVideoParentCategoryName}排行榜,免费观看高清热门{strVideoParentCategoryName},包括{sub_categories}等,{strSiteKeywords},访问{strSiteDomain}!',
|
||||
..
|
||||
]
|
||||
h1 :[
|
||||
'{strSiteName} - {strYear}{strVideoClassName}排行榜'
|
||||
'{strSiteName} - {strYear}{strVideoParentCategoryName}排行榜'
|
||||
..
|
||||
]
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'{strSiteDomain}' => '这个是站点域名',
|
||||
'{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
'{strYear}' => '这个是年份',
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是当前视地区名字..',
|
||||
'{strLangName}' => '这个是当前视语言名字..',
|
||||
|
||||
@@ -34,7 +34,7 @@ class ConverterMovel
|
||||
'{strNovelDescription}' => '',
|
||||
'{strSearchKeywords}' => '',
|
||||
|
||||
'{strVideoClassName}' => '',
|
||||
'{strVideoParentCategoryName}' => '',
|
||||
'{strVideoCategoryName}' => '',
|
||||
'{strAreaName}' => '',
|
||||
'{strLangName}' => '',
|
||||
@@ -72,7 +72,7 @@ class ConverterMovel
|
||||
'{strNovelDescription}' => '小说简介',
|
||||
'{strSearchKeywords}' => '搜索关键词',
|
||||
|
||||
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoParentCategoryName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
'{strVideoCategoryName}' => '视频分类名称:动作片..',
|
||||
'{strAreaName}' => '这个是地区名字..',
|
||||
'{strLangName}' => '这个是语言名字..',
|
||||
@@ -85,12 +85,6 @@ class ConverterMovel
|
||||
'{strVideoDescription}' => '这个是当前视频简介',
|
||||
'{intPlayIndex}' => '这个是当前视频播放集数',
|
||||
|
||||
|
||||
// '{strSiteName}' => '这个是网站名',
|
||||
// '{strSiteDomain}' => '这个是站点域名',
|
||||
// '{strSiteKeywords}' => '这个是网站全局通用关键字,可以替换到任何页面的 TKD模板里面',
|
||||
// '{strYear}' => '这个是年份',
|
||||
// '{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
|
||||
];
|
||||
|
||||
static private function getKey($strKey): string
|
||||
|
||||
@@ -79,11 +79,11 @@ class VideoCategoryModel extends MongoModel
|
||||
"v_category" => "动画片",
|
||||
"children" => [],
|
||||
],
|
||||
[
|
||||
"v_category_en" => "lun-li-pian",
|
||||
"v_category" => "倫理片",
|
||||
"children" => [],
|
||||
],
|
||||
// [
|
||||
// "v_category_en" => "lun-li-pian",
|
||||
// "v_category" => "倫理片",
|
||||
// "children" => [],
|
||||
// ],
|
||||
],
|
||||
],
|
||||
[
|
||||
@@ -221,6 +221,8 @@ class VideoCategoryModel extends MongoModel
|
||||
'dian-shi-ju' => '电视剧',
|
||||
'zong-yi' => '综艺',
|
||||
'dong-man' => '动漫',
|
||||
'duan-ju-da-quan' => '短剧大全',
|
||||
|
||||
'dong-zuo-pian' => '动作片',
|
||||
'xi-ju-pian' => '喜剧片',
|
||||
'ai-qing-pian' => '爱情片',
|
||||
@@ -228,6 +230,8 @@ class VideoCategoryModel extends MongoModel
|
||||
'kong-bu-pian' => '恐怖片',
|
||||
'ju-qing-pian' => '剧情片',
|
||||
'zhan-zheng-pian' => '战争片',
|
||||
|
||||
'lian-xu-ju' => '连续剧',
|
||||
'guo-chan-ju' => '国产剧',
|
||||
'ou-mei-ju' => '欧美剧',
|
||||
'han-ju' => '韩剧',
|
||||
@@ -236,16 +240,24 @@ class VideoCategoryModel extends MongoModel
|
||||
'tai-ju' => '泰剧',
|
||||
'ji-lu-pian' => '记录片',
|
||||
'hai-wai-ju' => '海外剧',
|
||||
'tai-wan-ju' => '台湾剧',
|
||||
'han-guo-ju' => '韩国剧',
|
||||
'xiang-gang-ju' => '香港剧',
|
||||
'tai-guo-ju' => '泰国剧',
|
||||
'ri-ben-ju' => '日本剧',
|
||||
|
||||
'da-lu-zong-yi' => '大陆综艺',
|
||||
'ri-han-zong-yi' => '日韩综艺',
|
||||
'gang-tai-zong-yi' => '港台综艺',
|
||||
'ou-mei-zong-yi' => '欧美综艺',
|
||||
|
||||
'guo-chan-dong-man' => '国产动漫',
|
||||
'ri-han-dong-man' => '日韩动漫',
|
||||
'ou-mei-dong-man' => '欧美动漫',
|
||||
'dong-hua-pian' => '动画片',
|
||||
'gang-tai-dong-man' => '港台动漫',
|
||||
'hai-wai-dong-man' => '海外动漫',
|
||||
|
||||
'yan-chang-hui' => '演唱会',
|
||||
'lun-li' => '伦理',
|
||||
'shao-shi-dian-ying' => '邵氏电影',
|
||||
@@ -253,19 +265,13 @@ class VideoCategoryModel extends MongoModel
|
||||
'lan-qiu' => '篮球',
|
||||
'zu-qiu' => '足球',
|
||||
'si-nuo-ke' => '斯诺克',
|
||||
'lian-xu-ju' => '连续剧',
|
||||
'tai-wan-ju' => '台湾剧',
|
||||
'han-guo-ju' => '韩国剧',
|
||||
'xiang-gang-ju' => '香港剧',
|
||||
'tai-guo-ju' => '泰国剧',
|
||||
'ri-ben-ju' => '日本剧',
|
||||
|
||||
'fu-li' => '福利',
|
||||
'lun-li-pian' => '伦理片',
|
||||
'gao-xiao' => '搞笑',
|
||||
'yin-le' => '音乐',
|
||||
'ying-shi' => '影视',
|
||||
'qi-che' => '汽车',
|
||||
'duan-ju-da-quan' => '短剧大全',
|
||||
'yu-gao-pian' => '预告片',
|
||||
'ti-yu' => '体育',
|
||||
];
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace app\services;
|
||||
use app\model\ConverterMovel;
|
||||
use app\model\DomainModel;
|
||||
use app\model\GanRaoMaModel;
|
||||
use app\model\VideoCategoryModel;
|
||||
use app\model\TemplatesModel;
|
||||
use app\model\CategoryModel;
|
||||
use app\model\ChapterModel;
|
||||
@@ -313,6 +314,64 @@ class SiteContext
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 视图反向控制器(注释函数),在视图开头调用,用来初始化一些操作。这里尽量不要复杂逻辑。这是个样例
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function initVideoCategoryTypeTKD()
|
||||
{
|
||||
$strParentCategory = $this->Request->param('strParentCategory');
|
||||
ConverterMovel::setVal([
|
||||
'strVideoParentCategoryName' => empty($strParentCategory) || $strParentCategory == 'all' ? '' : StaticConfig::$arrVideoClass[$strParentCategory],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 视图反向控制器(注释函数),在视图开头调用,用来初始化一些操作。这里尽量不要复杂逻辑。这是个样例
|
||||
* '/vodtype-:strParentCategory/:strCategory-:strYear-:strArea-:strOrder/:strLang-page:intPage',
|
||||
* @return void
|
||||
*/
|
||||
public function initVideoCategoryTKD()
|
||||
{
|
||||
$strParentCategory = $this->Request->param('strParentCategory');
|
||||
$strCategory = $this->Request->param('strCategory');
|
||||
$strYear = $this->Request->param('strYear');
|
||||
$strArea = $this->Request->param('strArea');
|
||||
$strOrder = $this->Request->param('strOrder');
|
||||
$strLang = $this->Request->param('strLang');
|
||||
$intPage = $this->Request->param('intPage');
|
||||
ConverterMovel::setVal([
|
||||
'strVideoParentCategoryName' => empty($strParentCategory) || $strParentCategory == 'all' ? '' : StaticConfig::$arrVideoClass[$strParentCategory],
|
||||
'strVideoCategoryName' => empty($strCategory) || $strCategory == 'all' ? '' : VideoCategoryModel::$arrCategory[$strCategory],
|
||||
'strAreaName' => empty($strArea) || $strArea == 'all' ? '' : StaticConfig::$arrVideoArea[$strArea],
|
||||
'strLangName' => empty($strLang) || $strLang == 'all' ? '' : StaticConfig::$arrVideoLang[$strLang],
|
||||
'strOrderName' => empty($strOrder) || $strOrder == 'all' ? '' : StaticConfig::$arrVideoSortType[$strOrder],
|
||||
'strYear' => empty($strYear) || $strYear == 'all' ? '' : StaticConfig::$arrVideoYear[$strYear],
|
||||
'intPage' => $intPage ?? 1,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 视图反向控制器(注释函数),在视图开头调用,用来初始化一些操作。这里尽量不要复杂逻辑。这是个样例
|
||||
* '/vodtype-:strParentCategory/:strCategory-:strYear-:strArea-:strOrder/:strLang-page:intPage',
|
||||
* @return void
|
||||
*/
|
||||
public function initVideoRankListTKD()
|
||||
{
|
||||
$strParentCategory = $this->Request->param('strParentCategory');
|
||||
$strCategory = $this->Request->param('strCategory');
|
||||
$strSortType = $this->Request->param('strSortType');
|
||||
$intPage = $this->Request->param('intPage');
|
||||
ConverterMovel::setVal([
|
||||
'strVideoParentCategoryName' => empty($strParentCategory) || $strParentCategory == 'all' ? '' : StaticConfig::$arrVideoClass[$strParentCategory],
|
||||
'strVideoCategoryName' => empty($strCategory) || $strCategory == 'all' ? '' : VideoCategoryModel::$arrCategory[$strCategory],
|
||||
'strOrderName' => empty($strSortType) || $strSortType == 'all' ? '' : StaticConfig::$arrVideoRankSortType[$strSortType],
|
||||
'intPage' => $intPage ?? 1,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 视图反向控制器(注释函数),在视图开头调用,用来初始化一些操作。这里尽量不要复杂逻辑。这是个样例
|
||||
*
|
||||
|
||||
@@ -62,10 +62,14 @@ class StaticConfig
|
||||
|
||||
static $arrVideoLang = [
|
||||
'all' => '所有',
|
||||
'guo-yu' => '国语',
|
||||
'yue-yu' => '粤语',
|
||||
'ying-yu' => '英语',
|
||||
'han-yu' => '韩语',
|
||||
'tai-yu' => '泰语',
|
||||
'ri-yu' => '日语',
|
||||
'yue-nan-yu' => '越南语',
|
||||
'ying-yu-shou-yu' => '英语手语',
|
||||
'ying-yu' => '英语',
|
||||
'yin-niu-te-yu' => '因纽特语',
|
||||
'yin-ni-yu' => '印尼语',
|
||||
'yin-du-yu' => '印度语Hindi',
|
||||
@@ -84,14 +88,12 @@ class StaticConfig
|
||||
'tu-ku-man-yu' => '土库曼语',
|
||||
'tu-er-qi-yu' => '土耳其语',
|
||||
'tu-er' => '土耳',
|
||||
'tai-yu' => '泰语',
|
||||
'tai-mi-er-yu' => '泰米尔语Tamil',
|
||||
'tai-mi-er' => '泰米尔',
|
||||
'tai-lu-gu-yu' => '泰卢固语',
|
||||
'ta-jia' => '他加',
|
||||
'shang-hai' => '上海',
|
||||
'rui-dian-yu' => '瑞典语',
|
||||
'ri-yu' => '日语',
|
||||
'qi-ta' => '其它',
|
||||
'pu-tong-hua' => '普通话',
|
||||
'pu-tao-ya-yu' => '葡萄牙语',
|
||||
@@ -111,8 +113,6 @@ class StaticConfig
|
||||
'he-lan-yu' => '荷兰语',
|
||||
'han-yu-pu-tong-hua' => '汉语普通话Manda',
|
||||
'han-yu-pu-tong' => '汉语普通',
|
||||
'han-yu' => '韩语',
|
||||
'guo-yu' => '国语',
|
||||
'fei-lv-bin-yu' => '菲律宾语',
|
||||
'fa-yu' => '法语',
|
||||
'e-yu' => '俄语',
|
||||
@@ -134,25 +134,28 @@ class StaticConfig
|
||||
'zhong-guo-tai-wan' => '中国台湾',
|
||||
'zhong-guo-da-lu' => '中国大陆',
|
||||
'zhong-guo' => '中国',
|
||||
'mei-guo' => '美国',
|
||||
'da-lu' => '大陆',
|
||||
'xiang-gang' => '香港',
|
||||
'tai-wan' => '台湾',
|
||||
'ri-ben' => '日本',
|
||||
'han-guo' => '韩国',
|
||||
'tai-guo' => '泰国',
|
||||
'xin-jia-po' => '新加坡',
|
||||
'yin-du' => '印度',
|
||||
'ying-guo' => '英国',
|
||||
'zhi-li' => '智利',
|
||||
'yue-nan' => '越南',
|
||||
'ying-guo' => '英国',
|
||||
'yin-ni' => '印尼',
|
||||
'yin-du' => '印度',
|
||||
'yi-da-li' => '意大利',
|
||||
'xiong-ya-li' => '匈牙利',
|
||||
'xin-xi-lan' => '新西兰',
|
||||
'xin-jia-po' => '新加坡',
|
||||
'xiang-gang' => '香港',
|
||||
'xi-de' => '西德',
|
||||
'xi-ban-ya' => '西班牙',
|
||||
'tu-er-qi' => '土耳其',
|
||||
'tai-wan' => '台湾',
|
||||
'tai-guo' => '泰国',
|
||||
'si-luo-wen-ni-ya' => '斯洛文尼亚',
|
||||
'rui-shi' => '瑞士',
|
||||
'rui-dian' => '瑞典',
|
||||
'ri-ben' => '日本',
|
||||
'qi-ta' => '其它',
|
||||
'pu-tao-ya' => '葡萄牙',
|
||||
'nuo-wei' => '挪威',
|
||||
@@ -161,7 +164,6 @@ class StaticConfig
|
||||
'nan-fei' => '南非',
|
||||
'mo-xi-ge' => '墨西哥',
|
||||
'mo-luo-ge' => '摩洛哥',
|
||||
'mei-guo' => '美国',
|
||||
'ma-lai-xi-ya' => '马来西亚',
|
||||
'ma-er-ta' => '马耳他',
|
||||
'lu-sen-bao' => '卢森堡',
|
||||
@@ -170,14 +172,12 @@ class StaticConfig
|
||||
'jian-pu-zhai' => '柬埔寨',
|
||||
'jia-na-da' => '加拿大',
|
||||
'he-lan' => '荷兰',
|
||||
'han-guo' => '韩国',
|
||||
'ha-sa-ke-si-tan' => '哈萨克斯坦',
|
||||
'fei-lv-bin' => '菲律宾',
|
||||
'fa-guo' => '法国',
|
||||
'e-luo-si' => '俄罗斯',
|
||||
'de-guo' => '德国',
|
||||
'dan-mai' => '丹麦',
|
||||
'da-lu' => '大陆',
|
||||
'bo-lan' => '波兰',
|
||||
'bi-li-shi' => '比利时',
|
||||
'bao-jia-li-ya' => '保加利亚',
|
||||
@@ -192,90 +192,89 @@ class StaticConfig
|
||||
|
||||
static $arrVideoYear = [
|
||||
'all' => '所有',
|
||||
'1924' => '1924',
|
||||
'1935' => '1935',
|
||||
'1938' => '1938',
|
||||
'1940' => '1940',
|
||||
'1941' => '1941',
|
||||
'1942' => '1942',
|
||||
'1945' => '1945',
|
||||
'1948' => '1948',
|
||||
'1949' => '1949',
|
||||
'1950' => '1950',
|
||||
'1952' => '1952',
|
||||
'1953' => '1953',
|
||||
'1954' => '1954',
|
||||
'1955' => '1955',
|
||||
'1956' => '1956',
|
||||
'1957' => '1957',
|
||||
'1958' => '1958',
|
||||
'1959' => '1959',
|
||||
'1960' => '1960',
|
||||
'1962' => '1962',
|
||||
'1963' => '1963',
|
||||
'1964' => '1964',
|
||||
'1965' => '1965',
|
||||
'1966' => '1966',
|
||||
'1967' => '1967',
|
||||
'1968' => '1968',
|
||||
'1969' => '1969',
|
||||
'1970' => '1970',
|
||||
'1971' => '1971',
|
||||
'1972' => '1972',
|
||||
'1973' => '1973',
|
||||
'1974' => '1974',
|
||||
'1975' => '1975',
|
||||
'1976' => '1976',
|
||||
'1977' => '1977',
|
||||
'1978' => '1978',
|
||||
'1979' => '1979',
|
||||
'1980' => '1980',
|
||||
'1981' => '1981',
|
||||
'1982' => '1982',
|
||||
'1983' => '1983',
|
||||
'1984' => '1984',
|
||||
'1985' => '1985',
|
||||
'1986' => '1986',
|
||||
'1987' => '1987',
|
||||
'1988' => '1988',
|
||||
'1989' => '1989',
|
||||
'1990' => '1990',
|
||||
'1991' => '1991',
|
||||
'1992' => '1992',
|
||||
'1993' => '1993',
|
||||
'1994' => '1994',
|
||||
'1995' => '1995',
|
||||
'1996' => '1996',
|
||||
'1997' => '1997',
|
||||
'1998' => '1998',
|
||||
'1999' => '1999',
|
||||
'2000' => '2000',
|
||||
'2001' => '2001',
|
||||
'2002' => '2002',
|
||||
'2003' => '2003',
|
||||
'2004' => '2004',
|
||||
'2005' => '2005',
|
||||
'2006' => '2006',
|
||||
'2007' => '2007',
|
||||
'2008' => '2008',
|
||||
'2009' => '2009',
|
||||
'2010' => '2010',
|
||||
'2011' => '2011',
|
||||
'2012' => '2012',
|
||||
'2013' => '2013',
|
||||
'2014' => '2014',
|
||||
'2015' => '2015',
|
||||
'2016' => '2016',
|
||||
'2017' => '2017',
|
||||
'2018' => '2018',
|
||||
'2019' => '2019',
|
||||
'2020' => '2020',
|
||||
'2021' => '2021',
|
||||
'2022' => '2022',
|
||||
'2023' => '2023',
|
||||
'2024' => '2024',
|
||||
'2025' => '2025',
|
||||
|
||||
'2024' => '2024',
|
||||
'2023' => '2023',
|
||||
'2022' => '2022',
|
||||
'2021' => '2021',
|
||||
'2020' => '2020',
|
||||
'2019' => '2019',
|
||||
'2018' => '2018',
|
||||
'2017' => '2017',
|
||||
'2016' => '2016',
|
||||
'2015' => '2015',
|
||||
'2014' => '2014',
|
||||
'2013' => '2013',
|
||||
'2012' => '2012',
|
||||
'2011' => '2011',
|
||||
'2010' => '2010',
|
||||
'2009' => '2009',
|
||||
'2008' => '2008',
|
||||
'2007' => '2007',
|
||||
'2006' => '2006',
|
||||
'2005' => '2005',
|
||||
'2004' => '2004',
|
||||
'2003' => '2003',
|
||||
'2002' => '2002',
|
||||
'2001' => '2001',
|
||||
'2000' => '2000',
|
||||
'1999' => '1999',
|
||||
'1998' => '1998',
|
||||
'1997' => '1997',
|
||||
'1996' => '1996',
|
||||
'1995' => '1995',
|
||||
'1994' => '1994',
|
||||
'1993' => '1993',
|
||||
'1992' => '1992',
|
||||
'1991' => '1991',
|
||||
'1990' => '1990',
|
||||
'1989' => '1989',
|
||||
'1988' => '1988',
|
||||
'1987' => '1987',
|
||||
'1986' => '1986',
|
||||
'1985' => '1985',
|
||||
'1984' => '1984',
|
||||
'1983' => '1983',
|
||||
'1982' => '1982',
|
||||
'1981' => '1981',
|
||||
'1980' => '1980',
|
||||
'1979' => '1979',
|
||||
'1978' => '1978',
|
||||
'1977' => '1977',
|
||||
'1976' => '1976',
|
||||
'1975' => '1975',
|
||||
'1974' => '1974',
|
||||
'1973' => '1973',
|
||||
'1972' => '1972',
|
||||
'1971' => '1971',
|
||||
'1970' => '1970',
|
||||
'1969' => '1969',
|
||||
'1968' => '1968',
|
||||
'1967' => '1967',
|
||||
'1966' => '1966',
|
||||
'1965' => '1965',
|
||||
'1964' => '1964',
|
||||
'1963' => '1963',
|
||||
'1962' => '1962',
|
||||
'1960' => '1960',
|
||||
'1959' => '1959',
|
||||
'1958' => '1958',
|
||||
'1957' => '1957',
|
||||
'1956' => '1956',
|
||||
'1955' => '1955',
|
||||
'1954' => '1954',
|
||||
'1953' => '1953',
|
||||
'1952' => '1952',
|
||||
'1950' => '1950',
|
||||
'1949' => '1949',
|
||||
'1948' => '1948',
|
||||
'1945' => '1945',
|
||||
'1942' => '1942',
|
||||
'1941' => '1941',
|
||||
'1940' => '1940',
|
||||
'1938' => '1938',
|
||||
'1935' => '1935',
|
||||
'1924' => '1924',
|
||||
];
|
||||
|
||||
static $arrVideoClass = [
|
||||
|
||||
@@ -301,6 +301,7 @@ class VideoService
|
||||
*/
|
||||
public function getVideoList(array $arrParams): array
|
||||
{
|
||||
|
||||
$intCount = (int)$arrParams['count'] ?? 10;
|
||||
// $strVCategory = $arrParams['v_category'] ?? '';
|
||||
$strSortType = (string)$arrParams['sort_type'] ?? '';
|
||||
@@ -311,6 +312,7 @@ class VideoService
|
||||
|
||||
$strVCategoryEn = (string) $arrParams['v_category_en'] ?? '';
|
||||
$strVParentCategoryEn = (string) $arrParams['v_parent_category_en'] ?? '';
|
||||
|
||||
|
||||
$strVLangEn = (string)$arrParams['v_lang_en'] ?? 'all';
|
||||
$strVAreaEn = (string)$arrParams['v_area_en'] ?? 'all';
|
||||
@@ -582,12 +584,12 @@ class VideoService
|
||||
|
||||
$intLifeTime = $intLifeTime;
|
||||
}
|
||||
|
||||
|
||||
// 更新值
|
||||
|
||||
ConverterMovel::setVal([
|
||||
'intPage' => $intPage,
|
||||
'strVideoClassName' => empty($strVClass) || $strVClass == 'all' ? '' : StaticConfig::$arrVideoClass[$strVClass],
|
||||
'strVideoParentCategoryName' => empty($strVParentCategory) || $strVParentCategory == 'all' ? '' : StaticConfig::$arrVideoClass[$strVParentCategory],
|
||||
'strVideoCategoryName' => empty($strNCategory) ? '' : str_replace("视频", "", $strNCategory),
|
||||
'strVideoStatus' => empty($strVStatus) ? '' : StaticConfig::$arrVideoStatus[$strVStatus],
|
||||
'strVideoOrder' => empty($strSortType) ? '' : StaticConfig::$arrVideoSortType[$strSortType],
|
||||
@@ -680,6 +682,12 @@ class VideoService
|
||||
// 视频详情
|
||||
$arrVideo = $this->VideoModel->getVideoByVId($intVId);
|
||||
|
||||
// 取前5个元素
|
||||
$strTopActor = array_slice($arrVideo['v_actor'], 0, 5);
|
||||
|
||||
// 取前5个元素
|
||||
$strTopDirectors = array_slice($arrVideo['v_director'], 0, 5);
|
||||
|
||||
// 点击数
|
||||
$arrVideoClicks = $this->VideoClicksModel->getStats($intVId);
|
||||
|
||||
@@ -687,9 +695,13 @@ class VideoService
|
||||
ConverterMovel::setVal([
|
||||
'intPage' => 1,
|
||||
'strVideoName' => $arrVideo['v_name'],
|
||||
'strVideoParentCategoryName' => $arrVideo['v_parent_category'],
|
||||
'strVideoCategoryName' => $arrVideo['v_category'],
|
||||
'strVideoStatus' => $arrVideo['v_isend'],
|
||||
'strVideoDescription' => $arrVideo['v_description'],
|
||||
'intPlayIndex' => 1,
|
||||
'strVideoDirector' => implode(',', $strTopDirectors),
|
||||
'strVideoActor' => implode(',', $strTopActor),
|
||||
]);
|
||||
|
||||
$arrVideo['arrVideoClicks'] = $arrVideoClicks;
|
||||
|
||||
Reference in New Issue
Block a user