```php # 系统配置 {site:cfg code="YONG_JIU_DOMAIN" encode="false"/} // YOUQING_LIANJIE_GUANG_GAO {ad:list code="YOUQING_LIANJIE_GUANG_GAO" order="asc" limit=10 /} {ad:list count="10" code="YOUQING_LIANJIE_GUANG_GAO" order="asc" d_key="d_key" d_val="Ad" cache_life="86400"}
  • Index: {$d_key} Title: {$Ad.gg_wen_zi} Img: {$Ad.gg_tu_pian} Href: {$Ad.gg_tiao_zhuan_di_zhi}
  • {/ad:list} # 广告配置 {site:adcfg code="JIAO_YOU_XIA_ZAI" encode="false"/} # 获取seo tdk {site:seotdk code="index" valcode="stc_title" encode="false"/} # 获取 站点信息 {site:site valcode="site_name" encode="false"/} # 转码 {site:wz wz="保存永久访问二维码" /} # 小说分类 url {site:nflurl gender="$arrNovel[gender]" category="$arrNovel[category]" status="$arrNovel[status]" page="1"/} {site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/} {site:nflurl order="tuijian" page="1"/} # 小说详情 url {site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/} # 伪造小说详情 url {site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/} # 小说目录 url {site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/} # 小说章节 url {site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$Chapter[c_sort_num]" c_page="1"/} # 小说最新章节 url {site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /} # 搜索详情 url {site:souurl key="哈哈" p="1"/} # 排行榜列表url {site:rankurl gender="$arrNovel[gender]" category="$arrNovel[category]" status="$arrNovel[status]" order="$arrNovel[order]" page="1"/} {site:rankurl status="$arrNovel[status]" order="$arrNovel[order]" page="1"/} # 干扰码 {site:grm domain="Request->DomainModel->d_domain" code="kuangyu-pc-index" line="50" diff="0" start="5" end="20" type="2" /} # 视频分类 首页 url {site:vciurl parent_category="dianying" /} {site:vciurl parent_category="dianying" export_name="strVciurl" /} # 视频详情 url {site:vurl v_id="$Video.v_id" v_py="$Video.v_name_en"/} # 视频播放 url {site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /} {site:vpurl v_id="$Video.v_id" v_py="$Video.v_name_en" play_type="$Request.route.strPlayType" play_index="$Request.route.intPlayIndex" /} # 视频分类 分页 url # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): 'vclurl' => ['attr' => 'category,class,area,lang,year,order,page', 'close' => 0], # 样例 {site:vclurl parent_category="dianying" category="all" area="all" lang="all" year="all" order="all" page="1"/} {site:vclurl parent_category="$Request.route.strClass" category="$arrChildrenCategory.v_category_en" area="all" lang="all" year="all" order="all" page="1" export_name="strVclurl"/} # 视频排行榜 列表 url # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $sort_type ?? "daily"; # 排序方式: # * * 'daily' => '天', # * * 'weekly' => '周', # * * 'monthly' => '月', # * * 'total' => '总', 'vrlurl' => ['attr' => 'category,class,sort_type,page', 'close' => 0], # 样例 {site:vrlurl class="dianying" category="all" sort_type="all" page="1"/} {site:vrlurl class="$Request.route.strClass" category="$arrChildrenCategory.v_category_en" sort_type="all" page="1"/} # 视频详情 url {site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/} # 视频搜索详情 url {site:vsurl key="哈哈" p="1"/} # 图片加密 ```php ```php # 01、 获取多个小说数据并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $count ?? '10'; # 查询条数 $n_category ?? "all"; # 查询分类 $sort_type ?? "all"; # 排序方式 news tuijian update $n_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $n_sex ?? "all"; # 查询性别: # * * 'all' => '所有', # * * 'man' => '男生', # * * 'women' => '女生', $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {novel:list count="10" n_category="$Request.route.category" d_key="d_key" d_val="Novel" cache_life="1000"}
  • Index: {$d_key} Title: {$novel.n_name} Author: {$novel.n_category}
  • {/novel:list} # 02-1、 获取分页小说数据并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $page ?? '1'; # 页码 $limit ?? '10'; # 查询条数 $n_category ?? "all"; # 查询分类 $sort_type ?? "all"; # 排序方式 $n_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $n_sex ?? "all"; # 查询性别: # * * 'all' => '所有', # * * 'man' => '男生', # * * 'women' => '女生', $key ?? ""; # 查询 搜索 $button_num ?? "10"; # 分页按钮数量 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $p_val ?? 'p_val'; # 分页页码数据,这是一个数组。和之前控制器渲染的那个数组一致的。 $func ; # 这个参数是一个回调方法名,用来渲染分页页码数据的,该方法需要在 NovelService 类里面实现,func(array $arrParams, array $arrSort, array $arrNovel) generateCategoryPager generateSearchPager # 样例 {novel:pager page="1" limit="10" n_category="$Request.route.category" d_key="d_key" d_val="novel" p_val="page_data" button_num="3" cache_life="1000" func="generateSearchPager"}
  • Index: {$d_key} Title: {$novel.n_name} Author: {$novel.n_category}
  • {/novel:pager} {php}var_dump($page_data);{/php} # 02-2、 获取分页小说数据不遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $page ?? '1'; # 页码 $limit ?? '10'; # 查询条数 $n_category ?? "all"; # 查询分类 $sort_type ?? "all"; # 排序方式 $n_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $n_sex ?? "all"; # 查询性别: # * * 'all' => '所有', # * * 'man' => '男生', # * * 'women' => '女生', $key ?? ""; # 查询 搜索 $button_num ?? "10"; # 分页按钮数量 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $p_val ?? 'p_val'; # 分页页码数据,这是一个数组。和之前控制器渲染的那个数组一致的。 $export_name ?? 'n_num'; # 查询出来的 所有数据集合,所有数据都可以在里面取。 $func ; # 这个参数是一个回调方法名,用来渲染分页页码数据的,该方法需要在 NovelService 类里面实现,func(array $arrParams, array $arrSort, array $arrNovel) generateCategoryPager generateSearchPager # 样例 {novel:pagerexp page="$Request.get.page" limit="30" key="$Request.get.keyword" d_key="d_key" d_val="Novel" n p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /} 结构 resData = [ data = [] p_data = [ 'total' => $intTotal, 'page' => $intPage, 'limit' => $intLimit, 'pages' => ceil($intTotal / $intLimit) ], ] {php}var_dump($resData['p_data']);{/php} # 03、获取替换模板替换后的数据 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $code ; # 替换模板编码 # 样例 {site:replace code="INDEX@INDEX@TITLE"} # 04、获取小说详情数据 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $n_id ; # 传入的小说ID $n_forge_id ; # 传入的伪造小说ID,默认值0,不伪造 $n_key ; # 查询出来的数据待使用的变量名称 # 样例 {novel:info n_id="33" n_key="arrNovel01" n_forge_id="1125940" /} {$arrNovel01.n_name} # 05、获取小说状态筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {novel:status d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/novel:status} # 06、获取小说性别筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {novel:sex d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/novel:sex} # 07、获取小说排序筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {novel:sort d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/novel:sort} # 08、获取小说排行榜排序筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {novel:ranksort d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/novel:ranksort} # 09、获取小说分类筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {novel:category d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/novel:category} # 10、 获取指定小说多个章节数据并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $count ?? '10'; # 查询条数 $n_id ; # 小说ID $sort_type ?? "all"; # 排序方式 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {chapter:list count="10" n_id="$Request.get.n_id" d_key="d_key" d_val="chapter" cache_life="1000"}
  • Index: {$d_key} 章节名称: {$chapter.c_name} 章节序号: {$chapter.c_sort_num}
  • {/chapter:list} # 11、 获取小说章节详情数据 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $n_id ; # 传入的小说ID $c_sort_num ; # 传入的章节索引 $c_page ; # 传入的章节页码 $n_key ; # 查询出来的数据待使用的变量名称 # 样例 {chapter:info n_id="1" c_sort_num="200" c_page="0" c_key="arrChapter01" /} {$arrChapter01.c_name} # 12-1、 获取指定小说章节分页数据并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $page ?? '1'; # 页码 $limit ?? '10'; # 查询条数 $n_id ; # 小说ID $sort_type ?? "all"; # 排序方式 $button_num ?? "10"; # 分页按钮数量 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $p_val ?? 'p_val'; # 分页页码数据,这是一个数组。和之前控制器渲染的那个数组一致的。 $func ; # 这个参数是一个回调方法名,用来渲染分页页码数据的,该方法需要在 NovelService 类里面实现,func(array $arrParams, array $arrSort, array $arrNovel) # 样例 {chapter:pager page="$Request.get.page" limit="10" n_id="$Request.get.n_id" d_key="d_key" d_val="chapter" cache_life="1000" button_num="3" sort_type="dao" func="generateChapterPager"}
  • Index: {$d_key} 章节名称: {$chapter.c_name} 章节序号: {$chapter.c_sort_num}
  • {/chapter:pager} # 12-2、 获取分页小说章节数据不遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $page ?? '1'; # 页码 $limit ?? '10'; # 查询条数 $n_id ; # 小说ID $sort_type ?? "all"; # 排序方式 $button_num ?? "10"; # 分页按钮数量 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $p_val ?? 'p_val'; # 分页页码数据,这是一个数组。和之前控制器渲染的那个数组一致的。 $export_name ?? 'n_num'; # 查询出来的 所有数据集合,所有数据都可以在里面取。 $func ; # 这个参数是一个回调方法名,用来渲染分页页码数据的,该方法需要在 NovelService 类里面实现,func(array $arrParams, array $arrSort, array $arrNovel) generateCategoryPager generateSearchPager # 样例 {chapter:pagerexp page="$Request.get.page" page="1" limit="10" n_id="$Request.get.n_id" d_key="d_key" d_val="chapter" cache_life="1000" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /} 结构 resData = [ data = [] p_data = [ 'pager' => [] 'total' => $intTotal, 'page' => $intPage, 'limit' => $intLimit, 'pages' => ceil($intTotal / $intLimit) ], ] {php}var_dump($resData['p_data']);{/php} # 13、 获取干扰码 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $page_code ?? ""; # 页面编码 $diff ?? ""; # 差异值 $limit ?? '1'; # 查询条数 # 样例 {site:grm page_code="fdasfadsf" diff="fadsfdsa" num="10" g_key="arrGrm" /} {php}var_dump($arrGrm);{/php} # 14、 获取指定类型小说排行榜并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $count ?? '10'; # 查询条数 $sort_type ?? "daily"; # 排序方式: # * * 'daily' => '天', # * * 'weekly' => '周', # * * 'monthly' => '月', # * * 'total' => '总', $n_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $n_sex ?? "all"; # 查询性别: # * * 'all' => '所有', # * * 'man' => '男生', # * * 'women' => '女生', $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {novel:ranklist count="10" sort_type="total" n_status="wanjie" n_sex="man" d_key="key" d_val="Novel" cache_life="86400"}
  • Index: {$d_key} Title: {$novel.n_name} Author: {$novel.n_category}
  • {/novel:ranklist} # 15、 获取随机伪造小说列表并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $count ?? '10'; # 查询条数 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {site:forgelist count="10" d_key="d_key" d_val="novel" cache_life="1000"}
  • Index: {$d_key} N ID: {$novel.n_id} N NAME PINYIN: {$novel.n_name_pinyin} N FORGE ID: {$novel.n_forge_id} N FORGE TITLE: {$novel.n_forge_title}
  • {/site:forgelist} # 16、 视图反向控制器(注释函数),在视图开头调用,用来初始化一些操作。这里尽量不要复杂逻辑 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $func # SiteContext 里面的方法名 # 样例 {site:helper func="initHomeTKD" /} # 17、 获取公共替换变量的值 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $code # ConverterMovel 里面的arrMap 的key # 样例 {site:getval code="strNovelCategoryName" /} # 18、 获取多个视频数据并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $count ?? '10'; # 查询条数 $v_category_en ?? "all"; # 查询分类 $v_parent_category_en ?? "all"; # 查询父分类 $v_lang_en ?? "all"; # 查询语言 $v_area_en ?? "all"; # 查询地区 $v_year ?? "all"; # 查询年份 $sort_type ?? "all"; # 排序方式 news tuijian update 'piaofang' => '票房', $v_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例1 {video:list count="10" v_parent_category_en="$Request.route.strParentCategory" v_category_en="$Request.route.strCategory" v_lang_en="$Request.route.strLang" v_area_en="$Request.route.strArea" v_year="$Request.route.strYear" sort_type="piaofang" d_key="d_key" d_val="Video" cache_life="86400"}
  • Index: {$d_key} Title: {$video.n_name} Author: {$video.v_category}
  • {/video:list} # 样例 {video:list count="10" v_category="$Request.route.category" d_key="d_key" d_val="Video" cache_life="1000"}
  • Index: {$d_key} Title: {$video.n_name} Author: {$video.v_category}
  • {/video:list} # 19-1、 获取分页视频数据并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $page ?? '1'; # 页码 $limit ?? '10'; # 查询条数 $v_category_en ?? "all"; # 查询分类 $v_parent_category_en ?? "all"; # 查询父分类 $v_lang_en ?? "all"; # 查询语言 $v_area_en ?? "all"; # 查询地区 $v_year ?? "all"; # 查询年份 $sort_type ?? "all"; # 排序方式 # 'all' => '全部排序', # 'news' => '最新入库', # 'tuijian' => '推荐', # 'update' => '最新更新', $v_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $key ?? ""; # 查询 搜索 $button_num ?? "10"; # 分页按钮数量 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $p_val ?? 'p_val'; # 分页页码数据,这是一个数组。和之前控制器渲染的那个数组一致的。 $func ; # 这个参数是一个回调方法名,用来渲染分页页码数据的,该方法需要在 NovelService 类里面实现,func(array $arrParams, array $arrSort, array $arrNovel) generateCategoryPager generateSearchPager # 样例1 {video:pager page="1" limit="30" button_num="3" cache_life="86400" func="generateVideoPager" v_parent_category_en="$Request.route.strParentCategory" v_category_en="$Request.route.strCategory" v_lang_en="$Request.route.strLang" v_area_en="$Request.route.strArea" v_year="$Request.route.strYear" sort_type="$Request.route.strOrder" d_key="d_key" d_val="video" p_val="page_data" export_name="resData" /} # 样例2 {video:pager page="1" limit="10" v_category="$Request.route.category" d_key="d_key" d_val="video" p_val="page_data" button_num="3" cache_life="1000" func="generateSearchPager"}
  • Index: {$d_key} Title: {$video.n_name} Author: {$video.v_category}
  • {/video:pager} {php}var_dump($page_data);{/php} # 19-2、 获取分页视频数据不遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $page ?? '1'; # 页码 $limit ?? '10'; # 查询条数 $v_category_en ?? "all"; # 查询分类 $v_parent_category_en ?? "all"; # 查询父分类 $v_lang_en ?? "all"; # 查询语言 $v_area_en ?? "all"; # 查询地区 $v_year ?? "all"; # 查询年份 $sort_type ?? "all"; # 排序方式 $v_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $key ?? ""; # 查询 搜索 $button_num ?? "10"; # 分页按钮数量 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $p_val ?? 'p_val'; # 分页页码数据,这是一个数组。和之前控制器渲染的那个数组一致的。 $export_name ?? 'n_num'; # 查询出来的 所有数据集合,所有数据都可以在里面取。 $func ; # 这个参数是一个回调方法名,用来渲染分页页码数据的,该方法需要在 NovelService 类里面实现,func(array $arrParams, array $arrSort, array $arrNovel) generateCategoryPager generateSearchPager # 样例 {video:pagerexp page="$Request.get.page" limit="30" button_num="10" key="$Request.get.keyword" v_parent_category_en="$Request.route.strParentCategory" v_category_en="$Request.route.strCategory" v_lang_en="$Request.route.strLang" v_area_en="$Request.route.strArea" v_year="$Request.route.strYear" sort_type="$Request.route.strOrder" d_key="d_key" d_val="Video" p_val="page_data" cache_life="86400" func="generateSearchPager" export_name="resData" /} 结构 resData = [ data = [] p_data = [ 'total' => $intTotal, 'page' => $intPage, 'limit' => $intLimit, 'pages' => ceil($intTotal / $intLimit) ], ] {php}var_dump($resData['p_data']);{/php} # 20、获取替换模板替换后的数据 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $code ; # 替换模板编码 # 样例 {site:replace code="INDEX@INDEX@TITLE"} # 21、获取视频详情数据 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $n_id ; # 传入的视频ID $n_forge_id ; # 传入的伪造视频ID,默认值0,不伪造 $n_key ; # 查询出来的数据待使用的变量名称 # 样例 {video:info n_id="33" n_key="arrVideo" /} {$arrVideo.n_name} # 22、获取视频状态筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {video:status d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/video:status} # 23、获取视频排序筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {video:sort d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/video:sort} # 24、获取视频排行榜排序筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {video:ranksort d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/video:ranksort} # 25、获取视频分类筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {video:category d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/video:category} # 25-2、获取视频分类筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $category_type ?? 'category_type'; # 自定义 分类类型 # 样例 {video:categorytype category_type="ONE" d_key="key" d_val="val"}
  • {$val.v_category} {foreach $val.children as $intChildrenKey=>$arrChildrenCategory } {$arrChildrenCategory.v_category}:{$arrChildrenCategory.v_category_en} {/foreach}
  • {/video:categorytype} # 26、 获取指定类型视频排行榜并且遍历 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $count ?? '10'; # 查询条数 $sort_type ?? "daily"; # 排序方式: # * * 'daily' => '天', # * * 'weekly' => '周', # * * 'monthly' => '月', # * * 'total' => '总', $v_status ?? "all"; # 查询状态: # * * 'all' => '所有', # * * 'lianzai' => '连载中', # * * 'wanjie' => '已完结', $v_category_en ?? ""; # 分类拼音 $v_parent_category_en ?? ""; # 父分类拼音 $diff_key ?? ""; # 缓存键值差异 $cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例1 {video:ranklist count="10" v_category_en="$arrChildrenCategory.v_category_en" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"} {/video:ranklist} # 样例2 {video:ranklist count="10" sort_type="total" v_status="wanjie" v_category_en="分类拼音" v_parent_category_en="父分类拼音" d_key="key" d_val="Video" cache_life="86400"}
  • Index: {$d_key} Title: {$video.n_name} Author: {$video.v_category}
  • {/video:ranklist} # 27、获取视频语言筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {video:lang d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/video:lang} # 28、获取视频地区筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {video:area d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/video:area} # 29、获取视频年份筛选条件 # 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号): $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 # 样例 {video:year d_key="key" d_val="val"}
  • 键: {$key} - 值: {$val}
  • {/video:year} ```