This commit is contained in:
make
2025-05-03 00:42:21 +08:00
parent 65ac6d7652
commit 0cd2fdcdfe
41 changed files with 4932 additions and 646 deletions

View File

@@ -110,37 +110,37 @@ $arrRoutes = [
* /vodshow/电影/动作片/中国大陆/国语/1992/最新/第一页
*/
'video_category' => [
'/vodtype-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/:strCategory/vodclass-:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/vodcategory-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort-page:intPage',
'/:strCategory-vodlist/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/vodtype-:strCategory/:strClass-:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/:strCategory/vodclass-:strClass-:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/vodcategory-:strClass/:strCategory/:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/:strCategory-vodlist/:strClass-:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/video-type/:strClass/:strCategory/:strArea/:strLang/:strYear/:strSort/page:intPage',
'/video-class-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort-page:intPage',
'/video-category-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort-page:intPage',
'/video-list-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort/page:intPage',
'/video-type/:strClass/:strCategory/:strArea/:strLang/:strYear/:strOrder/page:intPage',
'/video-class-:strClass/:strCategory/:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/video-category-:strClass/:strCategory/:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/video-list-:strClass/:strCategory/:strArea-:strLang-:strYear-:strOrder/page:intPage',
'/shipinfenlei-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/shipinleixing-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/shipinliebiao-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/shipinfenlei-:strCategory/:strClass-:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/shipinleixing-:strCategory/:strClass-:strArea-:strLang-:strYear-:strOrder-page:intPage',
'/shipinliebiao-:strCategory/:strClass-:strArea-:strLang-:strYear-:strOrder-page:intPage',
],
// 视频分类 首页
'video_category_index' => [
'/vodtype/:strCategory',
'/vodclass/:strCategory',
'/vodcategory/:strCategory',
'/vodlist/:strCategory',
'/vodtype/:strClass',
'/vodclass/:strClass',
'/vodcategory/:strClass',
'/vodlist/:strClass',
'/video-type/:strCategory',
'/video-class/:strCategory',
'/video-category/:strCategory',
'/video-list/:strCategory',
'/video-type/:strClass',
'/video-class/:strClass',
'/video-category/:strClass',
'/video-list/:strClass',
'/shipinfenlei/:strCategory',
'/shipinleixing/:strCategory',
'/shipinliebiao/:strCategory',
'/shipinfenlei/:strClass',
'/shipinleixing/:strClass',
'/shipinliebiao/:strClass',
],
@@ -179,6 +179,9 @@ $arrRoutes = [
],
//排行榜
'video_rank_index' => ['/paihang/index', '/rank/index', '/paihang-quan', '/top/index', '/paihang-bang', '/ranks/index', '/sort/index', '/order/index', '/total/index'],
// 视频站点url -- end
@@ -398,7 +401,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
return view($strView);
})
->pattern([
'strCategory' => '[a-z\-]*', // 允许空值
'strClass' => '[a-z\-]*', // 允许空值
]);
break;

View File

@@ -31,6 +31,7 @@
{block name="head-js"}{/block}
<script>
const strPcPath = `{$strPcPath}`;
</script>
</head>
@@ -84,32 +85,28 @@
<ul class="stui-header__menu type-slide">
<!-- 首页 -->
{if $DomainModel->info_id > 0}
<li class="active">
<a style="color: rgb(149, 0, 197);" href="/">首页</a>
<li class="{if $Request.route.strClass == ''}active{/if}">
<a href="/">首页</a>
</li>
<li class="active">
<a style="color: rgb(149, 0, 197);" href="/vindex">影视首页</a>
<li class="{if $Request.route.strClass == ''}active{/if}">
<a href="/vindex">影视首页</a>
</li>
{else}
<li class="active">
<a style="color: rgb(149, 0, 197);" href="/">首页</a>
<li class="{if $Request.route.strClass == ''}active{/if}">
<a href="/">首页</a>
</li>
{/if}
<!-- 动态分类导航 -->
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
<li class="{if $key == 1}active{/if}">
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="/vodtype/{$val.v_category_en}" >
<li class="{if $val.v_category_en == $Request.route.strClass}active{/if}">
<a
href='{site:vciurl class="$val.v_category_en" /}' >
{$val.v_category}
</a>
</li>
{/video:categorytype}
<!-- <li class="">
<a style="color: rgb(255, 102, 0);" href="">深度</a>
</li> -->
</ul>
</div>

View File

@@ -8,6 +8,23 @@ $v_lang = $tag['v_lang'] ?? "all"; // 语言
$v_area = $tag['v_area'] ?? "all"; // 地区
$v_year = $tag['v_year'] ?? "all"; // 年份
2. 排行榜标签 怎加 分类查询
{video:ranklist v_category="$val.v_category_en"
需要 配置tkd 模板的页面
分类首页
分类分页
视频详情页面
视频播放页面
视频搜索页面
视频排行榜首页
视频排行榜分页

View File

@@ -1,13 +1,13 @@
{extend name="base" /}
{block name="title"}{site:replace code="INDEX@INDEX@TITLE"}{/block}
{block name="keywords"}{site:replace code="INDEX@INDEX@KEYWORDS"}{/block}
{block name="description"}{site:replace code="INDEX@INDEX@DESCRIPTION"}{/block}
{block name="title"}{site:replace code="VIDEO@INDEX@INDEX@TITLE"}{/block}
{block name="keywords"}{site:replace code="VIDEO@INDEX@INDEX@KEYWORDS"}{/block}
{block name="description"}{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content='{site:replace code="INDEX@INDEX@TITLE"}' />
<meta property="og:description" content='{site:replace code="INDEX@INDEX@DESCRIPTION"}' />
<meta property="og:title" content='{site:replace code="VIDEO@INDEX@INDEX@TITLE"}' />
<meta property="og:description" content='{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
<meta property="og:type" content="website" />
@@ -18,13 +18,13 @@
"@type": "WebSite",
"name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}",
"headline": '{site:replace code="INDEX@INDEX@TITLE"}',
"description": '{site:replace code="INDEX@INDEX@DESCRIPTION"}',
"headline": '{site:replace code="VIDEO@INDEX@INDEX@TITLE"}',
"description": '{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}',
"datePublished": "{:date('Y-m-d')}"
"potentialAction": {
"@type": "SearchAction",
"target": 'https://{$DomainModel->d_domain}{site:souurl key="search_term_string" p="1"/}',
"target": 'https://{$DomainModel->d_domain}',
"query-input": "required name=search_term_string"
}
}

View File

@@ -1,5 +1,5 @@
<li class="col-md-4 col-sm-3 col-xs-1 padding-0">
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" class="top-line-dot text-overflow"
<a class="top-line-dot text-overflow"
href="/{$Video.v_name_en}.html"
title="{$Video.v_name}"><span class="text-muted pull-right">{$Video.v_remarks}</span>{$Video.v_name}</a>
</li>

View File

@@ -6,7 +6,8 @@
v_class="$Request.route.strClass"
d_key="d_key"
d_val="Video"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
p_val="page_data" button_num="10" cache_life="86400" func="generateVideoPager" export_name="resData" /}
{/block}
@@ -27,21 +28,21 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<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">{$Request.route.strCategory}{site:getval code="strVideoClassName" /}筛选</h3>
src="/template/videodadi/icon/icon_27.png">{site:getval code="strVideoClassName" /}筛选</h3>
</div>
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
<li><span class="text-muted">按类型</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a href="">全部</a>
<a href='{site:vclurl class="$Request.route.strClass" category="all" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'>全部</a>
</li>
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
{if $val.v_category_en == $Request.route.strClass}
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
<li
class="{if $Request.route.strClass == $arrChildrenCategory.v_category_en}active{/if}">
<a href="" class="text-muted">{$arrChildrenCategory.v_category}</a>
<a href='{site:vclurl class="$Request.route.strClass" category="$arrChildrenCategory.v_category_en" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}' class="text-muted">{$arrChildrenCategory.v_category}</a>
</li>
{/foreach}
{/if}
@@ -51,13 +52,14 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
<li><span class="text-muted">按地区</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a href="">全部</a>
class='{if empty( $Request.route.strArea) || $Request.route.strArea == ""}active{/if}'>
<a href='{site:vclurl class="$Request.route.strClass" category="$Request.route.strCategory" area="all" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'>全部</a>
</li>
{video:area d_key="key" d_val="val"}
<li class='{$Request.route.strCategory == $val}active{/if}'>
<a href="" class="text-muted">{$val}</a>
<li class='{$Request.route.strArea == $key}active{/if}'>
<a href='{site:vclurl class="$Request.route.strClass" category="$Request.route.strCategory" area="$key" lang="$Request.route.strLang" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
class="text-muted">{$val}</a>
</li>
{/video:area}
</ul>
@@ -65,15 +67,14 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<li><span class="text-muted">按年份</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a href="">全部</a>
class='{if empty( $Request.route.strYear) || $Request.route.strYear == ""}active{/if}'>
<a href='{site:vclurl class="$Request.route.strClass" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="all" order="$Request.route.strOrder" page="$Request.route.intPage"}'>全部</a>
</li>
{for start="2025" end="1967" comparison="gt" step="-1" name="i"}
<li class='{$Request.route.strCategory == $val}active{/if}'>
<a href="" class="text-muted">{$i}</a>
<li class='{$Request.route.strYear == $i}active{/if}'>
<a href='{site:vclurl class="$Request.route.strClass" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$i" order="$Request.route.strOrder" page="$Request.route.intPage"}'
class="text-muted">{$i}</a>
</li>
{/for}
@@ -81,13 +82,14 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
<li><span class="text-muted">按语言</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a href="">全部</a>
class='{if empty( $Request.route.strLang) || $Request.route.strLang == ""}active{/if}'>
<a href='{site:vclurl class="$Request.route.strClass" category="$Request.route.strCategory" area="$Request.route.strArea" lang="all" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'>全部</a>
</li>
{video:lang d_key="key" d_val="val"}
<li class='{$Request.route.strCategory == $val}active{/if}'>
<a href="" class="text-muted">{$val}</a>
<a href='{site:vclurl class="$Request.route.strClass" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$key" year="$Request.route.strYear" order="$Request.route.strOrder" page="$Request.route.intPage"}'
class="text-muted">{$val}</a>
</li>
{/video:lang}
</ul>
@@ -102,7 +104,8 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<ul class="nav nav-head">
{video:sort d_key="key" d_val="val"}
<li class="{if $Request.route.strSort == $key}active{/if}">
<a href="">{$val}</a>
<a href='{site:vclurl class="$Request.route.strClass" category="$Request.route.strCategory" area="$Request.route.strArea" lang="$Request.route.strLang" year="$Request.route.strYear" order="$key" page="$Request.route.intPage"}'>
{$val}</a>
</li>
{/video:sort}

View File

@@ -18,7 +18,7 @@
<div class="row">
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
{if $val.v_category_en == $Request.route.strCategory}
{if $val.v_category_en == $Request.route.strClass}
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
@@ -27,10 +27,14 @@
<div class="stui-pannel_bd clearfix">
<div class="col-lg-wide-75 col-xs-1 padding-0">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix"><a
style="color: rgb(95, 255, 15);" class="more text-muted pull-right"
href="">更多<i class="icon iconfont icon-more"></i></a>
<h3 class="title"><img src="/template/videodadi/icon/icon_27.png"><a
<div class="stui-pannel__head active bottom-line clearfix">
<a class="more text-muted pull-right"
href='{site:vclurl class="$Request.route.strClass" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1"/}'>
更多
<i class="icon iconfont icon-more"></i>
</a>
<h3 class="title">
<img src="/template/videodadi/icon/icon_27.png"><a
style="color: rgb(52, 99, 240);" href="">最新{$arrChildrenCategory.v_category}</a>
</h3>
</div>

View File

@@ -59,6 +59,9 @@ class ConverterMovel
'{strNovelAuthor}' => '小说作者',
'{strNovelDescription}' => '小说简介',
'{strSearchKeywords}' => '搜索关键词',
'{strVideoClassName}' => '视频自定义分类名称:电影/电视剧..',
'{strVideoCategoryName}' => '视频分类名称:动作片..',
];
static private function getKey($strKey): string

View File

@@ -109,31 +109,47 @@ class SiteContext
*/
public function initCfg()
{
// 全局使用的URL模板
$strPcUrlTemp = $this->DomainModel->getFomartSubject('PC_URL_PATH', '', false);
$strNanUrlTemp = $this->DomainModel->getFomartSubject('NAN_SHENG_URL', '', false);
$strNvUrlTemp = $this->DomainModel->getFomartSubject('NV_SHENG_URL', '', false);
$strCategoryIndexUrlTemp = $this->DomainModel->getFomartSubject('CATEGORY_INDEX_URL', '', false);
$strRankUrlTemp = $this->DomainModel->getFomartSubject('RANK_INFO_URL', '', false);
$strSearchIndexUrlTemp = $this->DomainModel->getFomartSubject('SEARCH_INDEX_URL', '', false);
$strHistoryUrlTemp = $this->DomainModel->getFomartSubject('HISTORY_INFO_URL', '', false);
$strBookShelfUrlTemp = $this->DomainModel->getFomartSubject('SHUJIA_INFO_URL', '', false);
$strUserUrlTemp = $this->DomainModel->getFomartSubject('USER_INFO_URL', '', false);
if(config('app.default_app_type') == 'novel'){
// 全局使用的URL模板
$strPcUrlTemp = $this->DomainModel->getFomartSubject('PC_URL_PATH', '', false);
$strNanUrlTemp = $this->DomainModel->getFomartSubject('NAN_SHENG_URL', '', false);
$strNvUrlTemp = $this->DomainModel->getFomartSubject('NV_SHENG_URL', '', false);
$strCategoryIndexUrlTemp = $this->DomainModel->getFomartSubject('CATEGORY_INDEX_URL', '', false);
$strRankUrlTemp = $this->DomainModel->getFomartSubject('RANK_INFO_URL', '', false);
$strSearchIndexUrlTemp = $this->DomainModel->getFomartSubject('SEARCH_INDEX_URL', '', false);
$strHistoryUrlTemp = $this->DomainModel->getFomartSubject('HISTORY_INFO_URL', '', false);
$strBookShelfUrlTemp = $this->DomainModel->getFomartSubject('SHUJIA_INFO_URL', '', false);
$strUserUrlTemp = $this->DomainModel->getFomartSubject('USER_INFO_URL', '', false);
$strNanUrl = str_replace("/", "", $strNanUrlTemp);
$strNvUrl = str_replace("/", "", $strNvUrlTemp);
$strNanUrl = str_replace("/", "", $strNanUrlTemp);
$strNvUrl = str_replace("/", "", $strNvUrlTemp);
View::assign("strPcPath", $strPcUrlTemp);
View::assign("strNanUrlTemp", $strNanUrlTemp);
View::assign("strNvUrlTemp", $strNvUrlTemp);
View::assign("strNanUrl", $strNanUrl);
View::assign("strNvUrl", $strNvUrl);
View::assign("strCategoryIndexUrlTemp", $strCategoryIndexUrlTemp);
View::assign("strRankUrlTemp", $strRankUrlTemp);
View::assign("strSearchIndexUrlTemp", $strSearchIndexUrlTemp);
View::assign("strHistoryUrlTemp", $strHistoryUrlTemp);
View::assign("strBookShelfUrlTemp", $strBookShelfUrlTemp);
View::assign("strUserUrlTemp", $strUserUrlTemp);
View::assign("strPcPath", $strPcUrlTemp);
View::assign("strNanUrlTemp", $strNanUrlTemp);
View::assign("strNvUrlTemp", $strNvUrlTemp);
View::assign("strNanUrl", $strNanUrl);
View::assign("strNvUrl", $strNvUrl);
View::assign("strCategoryIndexUrlTemp", $strCategoryIndexUrlTemp);
View::assign("strRankUrlTemp", $strRankUrlTemp);
View::assign("strSearchIndexUrlTemp", $strSearchIndexUrlTemp);
View::assign("strHistoryUrlTemp", $strHistoryUrlTemp);
View::assign("strBookShelfUrlTemp", $strBookShelfUrlTemp);
View::assign("strUserUrlTemp", $strUserUrlTemp);
}else{
$strPcUrlTemp = $this->DomainModel->getFomartSubject('VIDEO_PC_URL_PATH', '', false);
View::assign("strPcPath", $strPcUrlTemp);
}
// 视频站点需要信息
// $strVideoCategoryIndexUrlTemp = $this->DomainModel->getFomartSubject('VIDEO_CATEGORY_INDEX_URL', '', false);
// $strVideoSearchListUrlTemp = $this->DomainModel->getFomartSubject('VIDEO_SEARCH_LIST_URL', '', false);
// $strVideoHistoryUrlTemp = $this->DomainModel->getFomartSubject('VIDEO_HISTORY_LIST_URL', '', false);
// View::assign("strVideoCategoryIndexUrlTemp", $strVideoCategoryIndexUrlTemp);
// View::assign("strVideoSearchListUrlTemp", $strVideoSearchListUrlTemp);
// View::assign("strVideoHistoryUrlTemp", $strVideoHistoryUrlTemp);
View::assign('Request', $this->Request);
View::assign('DomainModel', $this->DomainModel);

View File

@@ -40,6 +40,24 @@ class VideoService
$this->VideoClicksModel = VideoClicksModel::getInstance();
}
/**
* 获取视频分类首页 URl
*
* @param string $strClass
* @return string
*/
public function getVideoCategoryIndexUrl(string $strClass): string
{
$strKey = 'VIDEO_CATEGORY_INDEX_URL';
$strUrl = $this->SiteContext->DomainModel->getFomartUrl($strKey, [
'strClass' => !empty($strClass) ? $strClass : '',
]);
$strUrl = preg_replace('#/{2,}#', '/', $strUrl);
return (string)$strUrl;
}
/**
* Undocumented function
@@ -59,23 +77,27 @@ class VideoService
}
/**
* 获取视频分类URl
*
* @param string $strGender
* @param string $strCategory
* @param string $strStatus
* @param string $strOrder
* @param integer $intPage
* @return string
*/
public function getVideoCategoryUrl(string|NULL $strGender, string|NULL $strCategory, string|NULL $strStatus, string|NULL $strOrder, int|string|NULL $intPage): string
/**
* 获取视频分类URl
*
* @param string|NULL $strCategory
* @param string|NULL $strClass
* @param string|NULL $strArea
* @param integer|string|NULL $strLang
* @param integer|string|NULL $strYear
* @param integer|string|NULL $strOrder
* @param integer|string|NULL $intPage
* @return string
*/
public function getVideoCategoryUrl(string|NULL $strCategory, string|NULL $strClass, string|NULL $strArea, int|string|NULL $strLang, int|string|NULL $strYear, int|string|NULL $strOrder, int|string|NULL $intPage): string
{
$strKey = 'CATEGORY_INFO_URL';
$strKey = 'VIDEO_CATEGORY_URL';
$strUrl = $this->SiteContext->DomainModel->getFomartUrl($strKey, [
'strGender' => !empty($strGender) ? $strGender : '',
'strCategory' => !empty($strCategory) ? $strCategory : 'all',
'strStatus' => !empty($strStatus) ? $strStatus : 'all',
'strClass' => !empty($strClass) ? $strClass : 'all',
'strArea' => !empty($strCategory) ? $strArea : 'all',
'strLang' => !empty($strCategory) ? $strLang : 'all',
'strYear' => !empty($strCategory) ? $strYear : 'all',
'strOrder' => !empty($strOrder) ? $strOrder : 'all',
'intPage' => $intPage ?? 1,
]);
@@ -497,7 +519,7 @@ class VideoService
/**
* 书库/分类定制分页
* 分类定制分页
*
* @param array $arrFilter 查询条件字段
* @param array $arrSort 查询排序字段
@@ -506,11 +528,18 @@ class VideoService
*/
public function generateVideoPager(array $arrParams, array $arrSort, array $arrVideo): array
{
$strKey = $arrParams['key'];
$strCategory = $arrParams['v_category'];
$strClass = $arrParams['v_class'];
$strArea = $arrParams['v_area'];
$strLang = $arrParams['v_lang'];
$strYear = $arrParams['v_year'];
$strOrder = $arrParams['sort_type'];
$intPage = $arrVideo['page'];
$intLimit = $arrVideo['limit'];
$intButtomNum = $arrParams['buttov_num'];
$strBaseUrl = app(VideoService::class)->getVideoSearchUrl($strKey, '{page}');
$strBaseUrl = app(VideoService::class)->getVideoCategoryUrl($strCategory,$strClass,$strArea,$strLang,$strYear,$strOrder ,'{page}');
$arrPaginator = CusteomPage02::generate($intPage, $arrVideo['total'], $intLimit, $strBaseUrl, $intButtomNum);
return $arrPaginator;