debug
This commit is contained in:
@@ -104,7 +104,6 @@ abstract class BaseController
|
||||
|
||||
View::assign("DomainModel", $this->request->DomainModel);
|
||||
View::assign("TemplatesModel", $this->request->TemplatesModel);
|
||||
|
||||
View::assign("strPcPath", $strPcUrlTemp);
|
||||
View::assign("strNanUrlTemp", $strNanUrlTemp);
|
||||
View::assign("strNvUrlTemp", $strNvUrlTemp);
|
||||
|
||||
@@ -9,9 +9,9 @@ use app\services\SiteContext;
|
||||
use think\facade\Route;
|
||||
|
||||
|
||||
Route::get('/article/fenlei/:category', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return view($SiteContext->getHomeView());
|
||||
});
|
||||
// Route::get('/article/fenlei/:category', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
// return view($SiteContext->getHomeView());
|
||||
// });
|
||||
|
||||
|
||||
|
||||
@@ -161,53 +161,70 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
|
||||
case 'latest':
|
||||
//最新章节
|
||||
Route::get($strRoute, [Novel::class, 'getNovelLatestChapter'])
|
||||
->append(['boolIsMobile' => $boolIsMobile])
|
||||
|
||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
||||
break;
|
||||
case 'chapter':
|
||||
//章节
|
||||
Route::get($strRoute, [Novel::class, 'getNovelChapter'])
|
||||
->append(['boolIsMobile' => $boolIsMobile])
|
||||
|
||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
||||
break;
|
||||
case 'kan-novel':
|
||||
//伪造小说详情
|
||||
Route::get($strRoute, [Novel::class, 'getKanNovelInfo'])
|
||||
->append(['boolIsMobile' => $boolIsMobile])
|
||||
|
||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
||||
break;
|
||||
case 'novel':
|
||||
//小说详情
|
||||
Route::get($strRoute, [Novel::class, 'getNovelInfo'])
|
||||
->append(['boolIsMobile' => $boolIsMobile])
|
||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
||||
$strView = 'pc/getNovelInfo.html';
|
||||
if ($platform == 'h5') {
|
||||
$strView = 'novel/getNovelInfo.html';
|
||||
}
|
||||
Route::get($strRoute, function () use ($strView) {
|
||||
return view($strView);
|
||||
})
|
||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
||||
|
||||
break;
|
||||
case 'catalog':
|
||||
//目录
|
||||
Route::get($strRoute, [Novel::class, 'getNovelCatalog'])
|
||||
->append(['boolIsMobile' => $boolIsMobile])
|
||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
||||
$strView = 'pc/getNovelCatalog.html';
|
||||
if ($platform == 'h5') {
|
||||
$strView = 'novel/getNovelCatalog.html';
|
||||
}
|
||||
Route::get($strRoute, function () use ($strView) {
|
||||
return view($strView);
|
||||
})
|
||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
||||
|
||||
break;
|
||||
case 'library':
|
||||
//书库/分类 /shuku/all/xuanhuan-xiuzhen/all/all/page1
|
||||
Route::get($strRoute, [Novel::class, 'getLibrary'])
|
||||
->append(['boolIsMobile' => $boolIsMobile])
|
||||
->pattern([
|
||||
//'strGender' => 'all|nansheng-xiaoshuo|boys-novel|nansheng-shu|man-read|nansheng-book|male-novels|nvsheng-xiaoshuo|girls-novel|nvsheng-shu|woman-read|nvsheng-book|female-novels',
|
||||
'strGender' => '[a-z\-]+',
|
||||
'strCategory' => '[a-z\-]+',
|
||||
'strStatus' => 'all|lianzai|wanjie',
|
||||
// 'strOrder' => '[a-z\-]+',
|
||||
'intPage' => '\d+'
|
||||
]);
|
||||
$strView = 'pc/getLibrary.html';
|
||||
if ($platform == 'h5') {
|
||||
$strView = 'novel/getLibrary.html';
|
||||
}
|
||||
//书库/分类
|
||||
Route::get($strRoute, function () use ($strView) {
|
||||
return view($strView);
|
||||
})
|
||||
->pattern([
|
||||
// 'strGender' => '[a-z\-]+',
|
||||
'strCategory' => '[a-z\-]+',
|
||||
'strStatus' => 'all|lianzai|wanjie',
|
||||
// 'strOrder' => '[a-z\-]+',
|
||||
'intPage' => '\d+'
|
||||
]);
|
||||
break;
|
||||
|
||||
case 'library-index':
|
||||
//书库/分类首页
|
||||
Route::get($strRoute, [Novel::class, 'getLibrary'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, [Novel::class, 'getLibrary']);
|
||||
break;
|
||||
case 'rank':
|
||||
//排行榜
|
||||
Route::get($strRoute, [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, [Novel::class, 'getNovelRank']);
|
||||
break;
|
||||
case 'boys':
|
||||
//男生
|
||||
@@ -219,26 +236,30 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
|
||||
break;
|
||||
case 'search':
|
||||
//搜素
|
||||
Route::get($strRoute, [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, [Novel::class, 'getSearchNovel'])->ext('html');
|
||||
break;
|
||||
case 'user':
|
||||
//用户中心
|
||||
Route::get($strRoute, [User::class, 'Index'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, [User::class, 'Index']);
|
||||
break;
|
||||
case 'bookshelf':
|
||||
//书架
|
||||
Route::get($strRoute, [User::class, 'getBookShelf'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, [User::class, 'getBookShelf']);
|
||||
break;
|
||||
case 'history':
|
||||
//历史记录
|
||||
Route::get($strRoute, [User::class, 'getHistory'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, [User::class, 'getHistory']);
|
||||
break;
|
||||
case 'index':
|
||||
// 首页
|
||||
if ($platform == 'h5') {
|
||||
Route::get($strRoute, [Index::class, 'index'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext ) {
|
||||
return view($SiteContext->getHomeView('h5'));
|
||||
});
|
||||
} else {
|
||||
Route::get($strRoute, [Index::class, 'getPcIndex'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext ) {
|
||||
return view($SiteContext->getHomeView('pc'));
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -246,3 +267,103 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 遍历路由配置,动态注册 H5 和 PC 路由
|
||||
*/
|
||||
// foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
|
||||
// $prefixes = is_array($prefixes) ? $prefixes : [$prefixes];
|
||||
// $boolIsMobile = $platform === 'h5';
|
||||
// foreach ($prefixes as $strPath) {
|
||||
// foreach ($arrRoutes['paths'] as $key => $arrUrl) {
|
||||
// foreach ($arrUrl as $strUrl) {
|
||||
// $strRoute = $strPath . $strUrl;
|
||||
// switch ($key) {
|
||||
// case 'latest':
|
||||
// //最新章节
|
||||
// Route::get($strRoute, [Novel::class, 'getNovelLatestChapter'])
|
||||
// ->append(['boolIsMobile' => $boolIsMobile])
|
||||
// ->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
||||
// break;
|
||||
// case 'chapter':
|
||||
// //章节
|
||||
// Route::get($strRoute, [Novel::class, 'getNovelChapter'])
|
||||
// ->append(['boolIsMobile' => $boolIsMobile])
|
||||
// ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
||||
// break;
|
||||
// case 'kan-novel':
|
||||
// //伪造小说详情
|
||||
// Route::get($strRoute, [Novel::class, 'getKanNovelInfo'])
|
||||
// ->append(['boolIsMobile' => $boolIsMobile])
|
||||
// ->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
||||
// break;
|
||||
// case 'novel':
|
||||
// //小说详情
|
||||
// Route::get($strRoute, [Novel::class, 'getNovelInfo'])
|
||||
// ->append(['boolIsMobile' => $boolIsMobile])
|
||||
// ->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
||||
// break;
|
||||
// case 'catalog':
|
||||
// //目录
|
||||
// Route::get($strRoute, [Novel::class, 'getNovelCatalog'])
|
||||
// ->append(['boolIsMobile' => $boolIsMobile])
|
||||
// ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
||||
// break;
|
||||
// case 'library':
|
||||
// //书库/分类 /shuku/all/xuanhuan-xiuzhen/all/all/page1
|
||||
// Route::get($strRoute, [Novel::class, 'getLibrary'])
|
||||
// ->append(['boolIsMobile' => $boolIsMobile])
|
||||
// ->pattern([
|
||||
// //'strGender' => 'all|nansheng-xiaoshuo|boys-novel|nansheng-shu|man-read|nansheng-book|male-novels|nvsheng-xiaoshuo|girls-novel|nvsheng-shu|woman-read|nvsheng-book|female-novels',
|
||||
// 'strGender' => '[a-z\-]+',
|
||||
// 'strCategory' => '[a-z\-]+',
|
||||
// 'strStatus' => 'all|lianzai|wanjie',
|
||||
// // 'strOrder' => '[a-z\-]+',
|
||||
// 'intPage' => '\d+'
|
||||
// ]);
|
||||
// break;
|
||||
// case 'library-index':
|
||||
// //书库/分类首页
|
||||
// Route::get($strRoute, [Novel::class, 'getLibrary'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// break;
|
||||
// case 'rank':
|
||||
// //排行榜
|
||||
// Route::get($strRoute, [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// break;
|
||||
// case 'boys':
|
||||
// //男生
|
||||
// Route::get($strRoute, [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => $boolIsMobile, 'strChannel' => 'boys']);
|
||||
// break;
|
||||
// case 'girls':
|
||||
// //女生
|
||||
// Route::get($strRoute, [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => $boolIsMobile, 'strChannel' => 'girls']);
|
||||
// break;
|
||||
// case 'search':
|
||||
// //搜素
|
||||
// Route::get($strRoute, [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// break;
|
||||
// case 'user':
|
||||
// //用户中心
|
||||
// Route::get($strRoute, [User::class, 'Index'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// break;
|
||||
// case 'bookshelf':
|
||||
// //书架
|
||||
// Route::get($strRoute, [User::class, 'getBookShelf'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// break;
|
||||
// case 'history':
|
||||
// //历史记录
|
||||
// Route::get($strRoute, [User::class, 'getHistory'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// break;
|
||||
// case 'index':
|
||||
// // 首页
|
||||
// if ($platform == 'h5') {
|
||||
// Route::get($strRoute, [Index::class, 'index'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// } else {
|
||||
// Route::get($strRoute, [Index::class, 'getPcIndex'])->append(['boolIsMobile' => $boolIsMobile]);
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="baseH5" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{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="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$strTitle??''}" />
|
||||
@@ -44,7 +44,7 @@
|
||||
<div class="wrap-box" style="margin-top:0;">
|
||||
<h3 class="wrap-title"><span>封面推荐</span></h3>
|
||||
<div class="rec-focus">
|
||||
{foreach $arrRecommendNovel as $key=>$Novel }
|
||||
{novel:list count="8" sort_type="tuijian" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
<dl class="rec-focus-book">
|
||||
<dt class="book-img">
|
||||
<a href='{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
|
||||
@@ -58,45 +58,42 @@
|
||||
<p>{$Novel.n_description}</p>
|
||||
</dd>
|
||||
</dl>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{foreach $arrAllCategoryNovel as $category}
|
||||
|
||||
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
|
||||
<div class="wrap-box">
|
||||
<h3 class="wrap-title">
|
||||
<span>{$category.xsfl_name}</span>
|
||||
<a class="more" href="/{$SiteModel['site_fenlei_path']}/{$category.xsfl_source_id}-0-0-1.html">更多..</a>
|
||||
<span>{$strCategoryName}</span>
|
||||
<a class="more" href='{site:nflurl category="$strCategoryPinyin" status="all" order="all" page="1"/}'>更多..</a>
|
||||
</h3>
|
||||
<div class="sort-box">
|
||||
<dl class="sort-book-first">
|
||||
{foreach $arrNovels[$category.xsfl_source_id] as $key2 => $vo}
|
||||
{if $key2 == 0}
|
||||
<dt class="book-img"><a href="/{$SiteModel['site_xiangqing_path']}/{$vo.xsxq_id}.html"><img height="100" width="80"
|
||||
src="{$vo.xsxq_feng_mian_url}" alt="{$vo.xsxq_ming_zi}"></a></dt>
|
||||
{novel:list count="1" n_category="$strCategoryPinyin" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
<dt class="book-img"><a href='{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'><img height="100" width="80"
|
||||
class="lazyload-img" data-encrypted="false" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt>
|
||||
<dd class="book-info">
|
||||
<h4><a href="/{$SiteModel['site_xiangqing_path']}/{$vo.xsxq_id}.html">{$vo.xsxq_ming_zi}</a></h4>
|
||||
<p>作者:{$vo.xsxq_zuozhe}</p>
|
||||
<p>{$vo.xsxq_jie_shao}</p>
|
||||
<h4><a href='{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel.n_name}</a></h4>
|
||||
<p>作者:{$Novel.n_author}</p>
|
||||
<p>{$Novel.n_description}</p>
|
||||
</dd>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</dl>
|
||||
<ul class="sort-book-list">
|
||||
{foreach $arrNovels[$category.xsfl_source_id] as $key2 => $vo}
|
||||
{if $key2 >= 1}
|
||||
<li><a href="/{$SiteModel['site_xiangqing_path']}/{$vo.xsxq_id}.html">{$vo.xsxq_ming_zi}</a><span>{$vo.xsxq_zuozhe}</span></li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{novel:list count="9" n_category="$strCategoryPinyin" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
<li><a href='{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel.n_name}</a><span>{$Novel.n_author}</span></li>
|
||||
{/novel:list}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/foreach}
|
||||
{/novel:category}
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{extend name="baseH5" /}
|
||||
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETLIBRARY@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETLIBRARY@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
{block name='nav-active-class'}home{/block}
|
||||
@@ -10,7 +10,8 @@
|
||||
|
||||
{block name="logo-html"}
|
||||
<h1 class="bookname">
|
||||
<a href="/" style="color:#ffffff">{$DomainModel->d_name}</a>-{$strSearchCategory}{$strOrder}{$strSearchStatus}免费阅读
|
||||
<a href="/"
|
||||
style="color:#ffffff">{$DomainModel->d_name}</a>-{$Request.route.strCategory}{$Request.route.strOrder}{$Request.route.strStatus}免费阅读
|
||||
</h1>
|
||||
{/block}
|
||||
|
||||
@@ -19,48 +20,42 @@
|
||||
{block name="main"}
|
||||
<p class="site-description">{$strDescription??''}</p>
|
||||
|
||||
|
||||
|
||||
<div class="navpf">
|
||||
<nav class="sortChannel_nav">
|
||||
<a class="on">分类:</a>
|
||||
<a class='{eq name="strCategory" value="all"}on on2 {/eq}'
|
||||
href='{site:nflurl gender="" category="all" status="$strStatus" order="$strOrder" page="$intPage"/}'>全部分类</a>
|
||||
<a class='{eq name="$Request.route.strCategory" value="all"}on on2 {/eq}'
|
||||
href='{site:nflurl category="all" status="$Request.route.strStatus" order="$Request.route.strOrder" page="$Request.route.intPage"/}'>全部分类</a>
|
||||
|
||||
{foreach $arrCategoryAll.man as $key=>$vo }
|
||||
<a class='{eq name="strCategory" value="$key"}on on2 {/eq}'
|
||||
href='{site:nflurl gender="" category="$key" status="$strStatus" order="$strOrder" page="$intPage"/}'>{$vo}</a>
|
||||
|
||||
{/foreach}
|
||||
{foreach $arrCategoryAll.women as $key=>$vo }
|
||||
<a class='{eq name="strCategory" value="$key"}on on2 {/eq}'
|
||||
href='{site:nflurl gender="" category="$key" status="$strStatus" order="$strOrder" page="$intPage"/}'>{$vo}</a>
|
||||
{/foreach}
|
||||
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
|
||||
|
||||
<a class='{eq name="$Request.route.strCategory" value="$strCategoryPinyin"}on on2 {/eq}'
|
||||
href='{site:nflurl category="$strCategoryPinyin" status="$Request.route.strStatus" order="$Request.route.strOrder" page="$Request.route.intPage"/}'>{$strCategoryName}</a>
|
||||
{/novel:category}
|
||||
</nav>
|
||||
<nav class="sortChannel_nav">
|
||||
<a class="on">排序:</a>
|
||||
{foreach $arrOrder as $key=>$orderName }
|
||||
<a href='{site:nflurl gender="" category="$strCategory" status="$strStatus" order="$key" page="$intPage"/}'
|
||||
class='{eq name="strOrder" value="$key"}on on2 {/eq}'>{$orderName}</a>
|
||||
{/foreach}
|
||||
{novel:sort d_key="key" d_val="strSortName"}
|
||||
<a href='{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" order="$key" page="$Request.route.intPage"/}'
|
||||
class='{eq name="$Request.route.strOrder" value="$key"}on on2 {/eq}'>{$strSortName}</a>
|
||||
{/novel:sort}
|
||||
</nav>
|
||||
<nav class="sortChannel_nav">
|
||||
<a class="on">状态:</a>
|
||||
|
||||
<a href='{site:nflurl gender="" category="$strCategory" status="all" order="$strOrder" page="$intPage"/}'
|
||||
class='{eq name="strStatus" value="all"}on on2 {/eq}' btn="search_category">全部状态</a>
|
||||
<a href='{site:nflurl gender="" category="$strCategory" status="lianzai" order="$strOrder" page="$intPage"/}'
|
||||
class='{eq name="strStatus" value="lianzai"}on on2 {/eq}' btn="search_category">连载</a>
|
||||
<a href='{site:nflurl gender="" category="$strCategory" status="wanjie" order="$strOrder" page="$intPage"/}'
|
||||
class='{eq name="strStatus" value="wanjie"}on on2 {/eq}' btn="search_category">完本</a>
|
||||
|
||||
{novel:status d_key="key" d_val="strStatusName"}
|
||||
<a href='{site:nflurl category="$Request.route.strCategory" status="$key" order="$Request.route.strOrder" page="$Request.route.intPage"/}'
|
||||
class='{eq name="$Request.route.strStatus" value="$key"}on on2 {/eq}'
|
||||
btn="search_category">{$strStatusName}</a>
|
||||
{/novel:status}
|
||||
</nav>
|
||||
</div>
|
||||
<div class="wrap-box">
|
||||
<h3 class="wrap-title"><span>更新列表</span></h3>
|
||||
<ul class="sort_list">
|
||||
{foreach $arrNovel as $key=>$Novel }
|
||||
{novel:pager page="1" limit="10" n_category="$Request.route.strCategory" sort_type="$Request.route.strOrder"
|
||||
n_status="$Request.route.strStatus" d_key="d_key"
|
||||
d_val="Novel" n_num="n_num"
|
||||
p_val="page_data" button_num="5" cache_life="86400" func="generateCategoryPager"}
|
||||
|
||||
<li>
|
||||
<span class="s1">[{$Novel.n_category}]</span>
|
||||
<span class="s2">
|
||||
@@ -72,23 +67,23 @@
|
||||
<span class="s4">{$Novel.n_author}</span>
|
||||
<span class="s5">{$Novel.n_update_time|date='m-d'}</span>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/novel:pager}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row sort_page_num">
|
||||
{volist name="arrPaginator" id="vo" key="k"}
|
||||
{volist name="page_data" id="vo" key="k"}
|
||||
{switch $vo.label}
|
||||
{case value="上一页"}
|
||||
{if $intPage == 1}
|
||||
{if $Request.route.intPage == 1}
|
||||
<span>«</span>
|
||||
{else}
|
||||
<a href="{$vo.url}">«</a>
|
||||
{/if}
|
||||
{/case}
|
||||
{case value="下一页"}
|
||||
{if $intPage >= $intTotalPage}
|
||||
{if $Request.route.intPage >= $n_num}
|
||||
<span>»</span>
|
||||
{else}
|
||||
<a href="{$vo.url}">»</a>
|
||||
@@ -107,7 +102,7 @@
|
||||
<span>封面推荐</span>
|
||||
</h3>
|
||||
<div class="rec-focus">
|
||||
{foreach $arrTopNovel as $key=>$Novel }
|
||||
{novel:list count="8" sort_type="tuijian" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
<dl class="rec-focus-book">
|
||||
<dt class="book-img">
|
||||
<a href='{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
|
||||
@@ -126,7 +121,7 @@
|
||||
<p>{$Novel.n_description}</p>
|
||||
</dd>
|
||||
</dl>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="baseH5" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="baseH5" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}{/block}
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
{extend name="baseH5" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
$Novel.n_id{extend name="baseH5" /}
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block}
|
||||
{block name="head"}
|
||||
{novel:info n_id="$Request.route.n_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="100" g_key="arrGrm" /}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' />
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||
@@ -15,16 +17,16 @@
|
||||
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
|
||||
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
|
||||
<meta property="og:novel:read_url"
|
||||
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'>
|
||||
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
|
||||
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>
|
||||
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" />
|
||||
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
@@ -44,7 +46,7 @@
|
||||
},
|
||||
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
|
||||
"image": "{$arrNovel.n_cover_path ?? ''}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}',
|
||||
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
|
||||
"genre": "{$arrNovel.n_category ??''}",
|
||||
"inLanguage": "zh-CN",
|
||||
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||
@@ -64,13 +66,13 @@
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "{$arrNovel.n_category ??''}",
|
||||
"item": 'https://{site:nflurl gender="" category="$arrNovel[n_category_pinyin]" order="all" status="all" page="1"/}'
|
||||
"item": 'https://{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "{$arrNovel['n_name']}",
|
||||
"item": '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'
|
||||
"item": '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
}
|
||||
]
|
||||
|
||||
@@ -101,13 +103,13 @@
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{site:nflurl gender="" category="$arrNovel[n_category_pinyin]" order="all" status="all" page="1"/}' itemprop="item">
|
||||
<a href='{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' itemprop="item">
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
@@ -133,8 +135,8 @@
|
||||
<p class="tag"><span class="blue">{$arrNovel.n_category}</span><span
|
||||
class="green">{$arrNovel.n_status}</span>
|
||||
</p>
|
||||
<p class="update"><span>最近更新:</span><a href={site:lcpurl n_id="$arrNovel[n_id]"
|
||||
n_py="$arrNovel[n_name_pinyin]" /}>{$arrLatestChapter->c_name
|
||||
<p class="update"><span>最近更新:</span><a href={site:lcpurl n_id="$arrNovel.n_id"
|
||||
n_py="$arrNovel.n_name_pinyin" /}>{$arrLatestChapter->c_name
|
||||
?? ""}</a></p>
|
||||
<p class="time"><span>更新时间:</span>{$arrNovel.n_update_time} </p>
|
||||
</div>
|
||||
@@ -143,9 +145,9 @@
|
||||
<ul class="btn-group">
|
||||
<li class="btn-group-cell"><a class="btn-normal abt1" onclick="addBookshelfFun()">加入书架</a><a
|
||||
class="btn-normal abt2"
|
||||
href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'>开始阅读</a><a
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a><a
|
||||
class="btn-normal abt3"
|
||||
href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'>章节目录</a>
|
||||
href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -154,79 +156,50 @@
|
||||
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
|
||||
{$arrNovel.n_description}
|
||||
</div>
|
||||
{if $strPageCode == 'detail'}
|
||||
|
||||
<h3 class="wrap-title">最新章节</h3>
|
||||
<div class="block-box">
|
||||
<ul class="chapter-list">
|
||||
{volist name='arrChapter' id='Chapter'}
|
||||
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
|
||||
<li><a
|
||||
href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
</li>
|
||||
{/volist}
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn-mulu">查看更多章节...</a>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<h3 class="wrap-title">章节列表</h3>
|
||||
<div class="block-box">
|
||||
<ul class="chapter-list">
|
||||
{volist name='arrChapterAsc' id='vo'}
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
|
||||
<li><a
|
||||
href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
</li>
|
||||
{/volist}
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn-mulu">查看更多章节...</a>
|
||||
</div>
|
||||
{else}
|
||||
<h3 class="wrap-title">章节列表(第{$intPage}页)
|
||||
{if $strOrder == 'zheng'}
|
||||
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="dao" page="1"/}'
|
||||
class="habt y">点击切换倒序</a>
|
||||
{else}
|
||||
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
|
||||
class="habt y">点击切换正序</a>
|
||||
{/if}
|
||||
</h3>
|
||||
<div class="block-box">
|
||||
|
||||
<!-- 目录下拉分页-->
|
||||
{include file="public/allChapterPage" start="1"/}
|
||||
|
||||
<ul class="chapter-list">
|
||||
{volist name='arrPage.data' id='Chapter'}
|
||||
<li>
|
||||
{$arrGRM[$key]|raw}
|
||||
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}'
|
||||
title="{$arrNovel['n_name']} {$Chapter.c_name}">{$Chapter.c_name}</a>
|
||||
</li>
|
||||
|
||||
{/volist}
|
||||
</ul>
|
||||
|
||||
{include file="public/allChapterPage" /}
|
||||
|
||||
</div>
|
||||
{/if}
|
||||
<div class="wrap-box">
|
||||
<h3 class="wrap-title"><span>完结推荐</span></h3>
|
||||
<div class="rec-focus">
|
||||
{foreach $arrEndNovel as $key=>$Novel }
|
||||
{novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
<dl class="rec-focus-book">
|
||||
<dt class="book-img"><a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'><img
|
||||
<dt class="book-img"><a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'><img
|
||||
height="100" width="80" class="lazyload-img" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt>
|
||||
<dd class="book-info">
|
||||
<h2><a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Novel.n_name}</a>
|
||||
<h2><a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
</h2>
|
||||
<p>作者:{$Novel.n_author}</p>
|
||||
<p>{$Novel.n_description}</p>
|
||||
</dd>
|
||||
</dl>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -234,16 +207,16 @@
|
||||
<h3 class="wrap-title"><span>相邻小说</span></h3>
|
||||
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
|
||||
|
||||
{$strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
</div>
|
||||
<div class="rec-focus" style="font-size:12px;">
|
||||
{volist name='arrRelateveNovel' id='Novel'}
|
||||
<a href='{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}'>{$Novel.n_name}</a>
|
||||
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
{/volist}
|
||||
|
||||
{volist name='arrNovel.n_forge_novel' id='ForgeNovel'}
|
||||
<a
|
||||
href='{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}'>{$ForgeNovel.n_forge_title}</a>
|
||||
href='{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'>{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="baseH5" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
|
||||
|
||||
{block name='nav-active-class'}home{/block}
|
||||
{block name="body-class"}novel_so novel_search_page{/block}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{extend name="basePc" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETLIBRARY@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETLIBRARY@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}{/block}
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$strTitle??''}" />
|
||||
<meta property="og:description" content="{$strDescription??''}" />
|
||||
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}" />
|
||||
{else}
|
||||
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nflurl gender="" category="$strCategory" status="$strStatus" page="$intPage"/}' />
|
||||
content='https://{$DomainModel->d_domain}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}' />
|
||||
{/if}
|
||||
<meta property="og:type" content="book" />
|
||||
<!-- 结构化数据 -->
|
||||
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}",
|
||||
@@ -28,7 +28,7 @@
|
||||
{else}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": 'https://{$DomainModel->d_domain}{site:nflurl gender="" category="$strCategory" status="$strStatus" page="$intPage"/}',
|
||||
"@context": 'https://{$DomainModel->d_domain}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}',
|
||||
"@type": "book",
|
||||
"headline": "{$strTitle??''}",
|
||||
"description": "{$strDescription??''}",
|
||||
@@ -42,11 +42,11 @@
|
||||
|
||||
{block name="head-css"}
|
||||
|
||||
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
|
||||
<link rel="canonical" href="https://{$DomainModel->d_domain}{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}">
|
||||
{else}
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nflurl gender="" category="$strCategory" status="$strStatus" page="$intPage"/}'>
|
||||
href='https://{$DomainModel->d_domain}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}'>
|
||||
{/if}
|
||||
|
||||
{/block}
|
||||
@@ -59,7 +59,7 @@
|
||||
<div class="container">
|
||||
<div class="row row-section">
|
||||
<div class="layout layout-col3">
|
||||
{foreach $arrTopNovel as $key=>$Novel }
|
||||
{novel:list count="6" sort_type="tuijian" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
<div class="item">
|
||||
<div class="image">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
|
||||
@@ -80,39 +80,36 @@
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</div>
|
||||
</div>
|
||||
<div class="sort_nav">
|
||||
<p>
|
||||
<span>分类:</span>
|
||||
<a class='{eq name="strCategory" value="all"}on {/eq}'
|
||||
href='{$strPcPath}{site:nflurl gender="" category="all" status="$strStatus" order="$strOrder" page="$intPage"/}'>不限</a>
|
||||
<a class='{eq name="$Request.route.strCategory" value="all"}on {/eq}'
|
||||
href='{$strPcPath}{site:nflurl category="all" status="$Request.route.strStatus" order="$Request.route.strOrder" page="$Request.route.intPage"/}'>不限</a>
|
||||
|
||||
{foreach $arrCategoryAll.man as $key=>$vo }
|
||||
<a class='{eq name="strCategory" value="$key"}on {/eq}'
|
||||
href='{$strPcPath}{site:nflurl gender="" category="$key" status="$strStatus" order="$strOrder" page="$intPage"/}'>{$vo}</a>
|
||||
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
|
||||
<a class='{eq name="$Request.route.strCategory" value="$strCategoryPinyin"}on {/eq}'
|
||||
href='{$strPcPath}{site:nflurl category="$strCategoryPinyin" status="$Request.route.strStatus" order="$Request.route.strOrder" page="$Request.route.intPage"/}'>{$strCategoryName}</a>
|
||||
|
||||
{/novel:category}
|
||||
|
||||
{/foreach}
|
||||
{foreach $arrCategoryAll.women as $key=>$vo }
|
||||
<a class='{eq name="strCategory" value="$key"}on {/eq}'
|
||||
href='{$strPcPath}{site:nflurl gender="" category="$key" status="$strStatus" order="$strOrder" page="$intPage"/}'>{$vo}</a>
|
||||
{/foreach}
|
||||
|
||||
</p>
|
||||
<p><span>排序:</span>
|
||||
{foreach $arrOrder as $key=>$orderName }
|
||||
<a href='{$strPcPath}{site:nflurl gender="" category="$strCategory" status="$strStatus" order="$key" page="$intPage"/}'
|
||||
class='{eq name="strOrder" value="$key"}on {/eq}'>{$orderName}</a>
|
||||
{/foreach}
|
||||
{novel:sort d_key="key" d_val="strSortName"}
|
||||
<a href='{$strPcPath}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" order="$key" page="$Request.route.intPage"/}'
|
||||
class='{eq name="$Request.route.strOrder" value="$key"}on {/eq}'>{$strSortName}</a>
|
||||
{/novel:sort}
|
||||
</p>
|
||||
<p><span>状态:</span>
|
||||
<a href='{$strPcPath}{site:nflurl gender="" category="$strCategory" status="all" order="$strOrder" page="$intPage"/}'
|
||||
class='{eq name="strStatus" value="all"}on {/eq}' btn="search_category">全部</a>
|
||||
<a href='{$strPcPath}{site:nflurl gender="" category="$strCategory" status="lianzai" order="$strOrder" page="$intPage"/}'
|
||||
class='{eq name="strStatus" value="lianzai"}on {/eq}' btn="search_category">连载</a>
|
||||
<a href='{$strPcPath}{site:nflurl gender="" category="$strCategory" status="wanjie" order="$strOrder" page="$intPage"/}'
|
||||
class='{eq name="strStatus" value="wanjie"}on {/eq}' btn="search_category">完本</a>
|
||||
{novel:status d_key="key" d_val="strStatusName"}
|
||||
<a href='{$strPcPath}{site:nflurl category="$Request.route.strCategory" status="$key" order="$Request.route.strOrder" page="$Request.route.intPage"/}'
|
||||
class='{eq name="$Request.route.strStatus" value="$key"}on {/eq}'
|
||||
btn="search_category">{$strStatusName}</a>
|
||||
{/novel:status}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -120,7 +117,8 @@
|
||||
<div class="layout layout2 layout-col1 fr">
|
||||
<h2 class="layout-tit">最新入库小说</h2>
|
||||
<ul class="txt-list txt-list-row3">
|
||||
{foreach $arrNovel as $key=>$Novel }
|
||||
{novel:list count="30" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data"
|
||||
cache_life="86400"}
|
||||
<li>
|
||||
<span class="s1">[{$Novel->n_category ?? ''}</span>
|
||||
<span class="s2"><a
|
||||
@@ -128,42 +126,46 @@
|
||||
<span class="s5"><a
|
||||
href='{$strPcPath}{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></span>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="layout layout2 layout-col2 fl">
|
||||
<h2 class="layout-tit">最近更新小说列表</h2>
|
||||
<ul class="txt-list txt-list-row5">
|
||||
{foreach $arrNovel as $key=>$Novel }
|
||||
{novel:pager page="1" limit="30" n_category="$Request.route.strCategory"
|
||||
sort_type="$Request.route.strOrder"
|
||||
n_status="$Request.route.strStatus" d_key="d_key"
|
||||
d_val="Novel" n_num="n_num"
|
||||
p_val="page_data" button_num="10" cache_life="86400" func="generateCategoryPager"}
|
||||
<li>
|
||||
<span class="s1">[{$Novel->n_category ?? ''}</span>
|
||||
<span class="s2"><a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
|
||||
<span class="s3"><a
|
||||
href='{$strPcPath}{site:lcpurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}'
|
||||
href='{$strPcPath}{site:lcpurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin" /}'
|
||||
title="{$Novel->n_latest_chapter_name ?? 'null'}">{$Novel->n_latest_chapter_name ??
|
||||
'null'}</a></span>
|
||||
<span class="s4">{$Novel.n_author}</span>
|
||||
<span class="s5">{:date('m-d')}</span>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/novel:pager}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 分页 -->
|
||||
<div class="row sort_page_num">
|
||||
{volist name="arrPaginator" id="vo" key="k"}
|
||||
{volist name="page_data" id="vo" key="k"}
|
||||
{switch $vo.label}
|
||||
{case value="上一页"}
|
||||
{if $intPage == 1}
|
||||
{if $Request.route.intPage == 1}
|
||||
<span>«</span>
|
||||
{else}
|
||||
<a href="{$strPcPath}{$vo.url}">«</a>
|
||||
{/if}
|
||||
{/case}
|
||||
{case value="下一页"}
|
||||
{if $intPage >= $intTotalPage}
|
||||
{if $Request.route.intPage >= $n_num}
|
||||
<span>»</span>
|
||||
{else}
|
||||
<a href="{$strPcPath}{$vo.url}">»</a>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="basePc" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="basePc" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="head"}
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
{extend name="basePc" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block}
|
||||
{block name="head"}
|
||||
{novel:info n_id="$Request.route.n_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="100" g_key="arrGrm" /}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' />
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||
@@ -15,12 +18,12 @@
|
||||
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
|
||||
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
|
||||
<meta property="og:novel:read_url"
|
||||
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'>
|
||||
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
|
||||
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>
|
||||
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
@@ -44,7 +47,7 @@
|
||||
},
|
||||
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
|
||||
"image": "{$arrNovel.n_cover_path ?? ''}",
|
||||
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}',
|
||||
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
|
||||
"genre": "{$arrNovel.n_category ??''}",
|
||||
"inLanguage": "zh-CN",
|
||||
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||
@@ -60,7 +63,7 @@
|
||||
{/block}
|
||||
{block name="head-css"}
|
||||
<link rel="canonical"
|
||||
href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>
|
||||
href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{/block}
|
||||
{block name="logo-html"}
|
||||
<h2>
|
||||
@@ -82,7 +85,7 @@
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit xs-hidden">
|
||||
<a href="{$strPcPath}/">{$DomainModel->d_name}</a>>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{$arrNovel['n_name']}
|
||||
</a>
|
||||
</h2>
|
||||
@@ -104,15 +107,15 @@
|
||||
<a rel="nofollow" onclick="addBookshelfFun()">加入书架</a>
|
||||
<i class="xs-hidden">、</i>
|
||||
<a
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'>章节目录</a>
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
|
||||
<i class="xs-hidden">、</i>
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'>开始阅读</a>
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a>
|
||||
</p>
|
||||
<p>最后更新:{$arrNovel.n_update_time ?? ''} </p>
|
||||
<p>最新章节:<a
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'>
|
||||
{$arrLatestChapter->c_name ?? ""}</a></p>
|
||||
href='{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{$arrNovel.n_latest_chapter_name ?? ""}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc xs-hidden">{$arrNovel.n_description ?? ''}</div>
|
||||
@@ -122,87 +125,55 @@
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit">《{$arrNovel.n_name ?? ''}》{$arrNovel.n_name ?? '章节'}</h2>
|
||||
<div class="first_txt">
|
||||
{$strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
|
||||
<p>相邻推荐:
|
||||
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
||||
{if $key<20 } {$arrGRM[$key+20]|raw} {/if} <a
|
||||
href='{$strPcPath}{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}'
|
||||
{if $key<20 } {$arrGrm[$key+20]|raw} {/if} <a
|
||||
href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
|
||||
class="red">{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
|
||||
{volist name='arrRelateveNovel' id='Novel'}
|
||||
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
|
||||
<a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}'>{$Novel.n_name}</a>
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
{/volist}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{if $strPageCode == 'detail'}
|
||||
<div class="row row-section">
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit">《{$arrNovel.n_name}》最新章节</h2>
|
||||
<ul class="section-list fix">
|
||||
{volist name='arrChapter' id='Chapter'}
|
||||
{chapter:list count="12" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
|
||||
<li><a
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Chapter.c_name}</a>
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Chapter.c_name}</a>
|
||||
</li>
|
||||
{/volist}
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<h2 class="layout-tit">《{$arrNovel.n_name}》章节列表</h2>
|
||||
<ul class="fix section-list">
|
||||
{volist name='arrChapterAsc' id='Chapter'}
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
|
||||
<li><a
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Chapter.c_name}</a>
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Chapter.c_name}</a>
|
||||
</li>
|
||||
{/volist}
|
||||
{/chapter:list}
|
||||
</ul><a
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn-mulu">查看更多章节...</a>
|
||||
</div>
|
||||
</div>
|
||||
{else}
|
||||
<div class="row row-section">
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit">《{$arrNovel.n_name}》章节列表(第{$intPage}页)切换倒序/正序:
|
||||
{if $strOrder == 'zheng'}
|
||||
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="dao" page="1"/}'
|
||||
class="habt y">点击切换倒序</a>
|
||||
{else}
|
||||
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
|
||||
class="habt y">点击切换正序</a>
|
||||
{/if}
|
||||
</h2>
|
||||
|
||||
<!-- 目录下拉分页-->
|
||||
{include file="pc/public/allChapterPage" /}
|
||||
|
||||
<ul class="section-list fix ycxsid">
|
||||
{volist name='arrPage.data' id='Chapter'}
|
||||
<li>
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}'>
|
||||
{$Chapter.c_name}
|
||||
</a>
|
||||
</li>
|
||||
{/volist}
|
||||
</ul>
|
||||
|
||||
<!-- 目录下拉分页-->
|
||||
{include file="pc/public/allChapterPage" /}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="row row-section">
|
||||
<h2 class="layout-tit">已完结热门小说推荐</h2>
|
||||
<div class="layout layout-col3">
|
||||
|
||||
{foreach $arrEndNovel as $key=>$Novel }
|
||||
{novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
<div class="item">
|
||||
<div class="image">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
|
||||
@@ -210,15 +181,15 @@
|
||||
</div>
|
||||
<dl>
|
||||
<dt><span>{$Novel.n_author}</span><a
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Novel.n_name}</a>
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
</dt>
|
||||
<dd style="height:90px"><a
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
style="color: #555">{$Novel.n_description}</a>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="basePc" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
|
||||
{block name='nav-active-class'}home{/block}
|
||||
|
||||
{block name="title"}{/block}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{extend name="basePc" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{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="head-css"}
|
||||
<link rel="canonical" href="https://{$DomainModel->d_domain}/">
|
||||
{/block}
|
||||
@@ -27,7 +27,8 @@
|
||||
<div class="container biqunaicc">
|
||||
<div class="row">
|
||||
<div class="layout layout-col2">
|
||||
{foreach $arrRecommendSerializationNovel as $key=>$Novel }
|
||||
{novel:list count="4" sort_type="tuijian" n_status="lianzai" d_key="d_key" d_val="Novel" p_val="page_data"
|
||||
cache_life="86400"}
|
||||
<div class="item">
|
||||
<div class="image">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
|
||||
@@ -50,32 +51,32 @@
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</div>
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit">经典推荐</h2>
|
||||
<ul class="txt-list txt-list-row3">
|
||||
{foreach $arrRecommendEndNovel as $key=>$Novel }
|
||||
{novel:list count="9" sort_type="tuijian" n_status="wanjie" d_key="d_key" d_val="Novel"
|
||||
p_val="page_data" cache_life="86400"}
|
||||
<li>
|
||||
<span class="s1">[{$Novel->n_category ?? ''}</span>
|
||||
<span class="s2"><a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
|
||||
<span class="s5"><a href='{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></span>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="layout">
|
||||
{foreach $arrCategoryAll as $category}
|
||||
{foreach $arrCategoryAll as $category}
|
||||
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
|
||||
<div class="tp-box">
|
||||
<h2>{$category.xsfl_name}</h2> <!-- 分类标题 -->
|
||||
<h2>{$strCategoryName}</h2> <!-- 分类标题 -->
|
||||
<div class="top">
|
||||
{foreach $arrNovels[$category.xsfl_source_id] as $key2 => $Novel}
|
||||
{if $key2 == 0}
|
||||
{novel:list count="1" n_category="$strCategoryPinyin" sort_type="news" d_key="d_key" d_val="Novel"
|
||||
p_val="page_data" cache_life="86400"}
|
||||
<div class="image">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
|
||||
<img class="lazyload-img" src="/static/img/default.jpg"
|
||||
@@ -90,21 +91,18 @@
|
||||
<dd><a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'
|
||||
style="color: #555">{$Novel.n_description ?? ''}</a></dd>
|
||||
</dl>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</div>
|
||||
<ul>
|
||||
{foreach $arrNovels[$category.xsfl_source_id] as $key2 => $Novel}
|
||||
{if $key2 >= 1}
|
||||
{novel:list count="12" n_category="$strCategoryPinyin" sort_type="news" d_key="d_key" d_val="Novel"
|
||||
p_val="page_data" cache_life="86400"}
|
||||
<li><a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a>/<a
|
||||
href='{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/novel:list}
|
||||
</ul>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/novel:category}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -112,7 +110,8 @@
|
||||
<div class="layout layout2 layout-col1 fr">
|
||||
<h2 class="layout-tit">最新入库小说</h2>
|
||||
<ul class="txt-list txt-list-row3">
|
||||
{novel:list count="50" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="0"}
|
||||
{novel:list count="50" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data"
|
||||
cache_life="86400"}
|
||||
<li>
|
||||
<span class="s1">[{$Novel->n_category ?? ''}]</span>
|
||||
<span class="s2"><a
|
||||
@@ -125,13 +124,14 @@
|
||||
<div class="layout layout2 layout-col2 fl">
|
||||
<h2 class="layout-tit">最近更新小说列表</h2>
|
||||
<ul class="txt-list txt-list-row5">
|
||||
{novel:list count="50" sort_type="update" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="0"}
|
||||
{novel:list count="50" sort_type="update" d_key="d_key" d_val="Novel" p_val="page_data"
|
||||
cache_life="86400"}
|
||||
<li>
|
||||
<span class="s1">[{$Novel->n_category ?? ''}]</span>
|
||||
<span class="s2"><a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
|
||||
<span class="s3"><a
|
||||
href='{$strPcPath}{site:lcpurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}'
|
||||
href='{$strPcPath}{site:lcpurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin" /}'
|
||||
title="{$Novel->n_latest_chapter_name ?? 'null'}">{$Novel->n_latest_chapter_name ??
|
||||
'null'}</a></span>
|
||||
<span class="s4"><a href='{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></span>
|
||||
|
||||
@@ -55,9 +55,12 @@
|
||||
<span>最新标签</span>
|
||||
</h3>
|
||||
<div class="rec-focus" style="font-size:12px;">
|
||||
{foreach $arrForgeNovel as $key=>$Novel }
|
||||
<a href="/">{$Novel.n_name}</a>
|
||||
{/foreach}
|
||||
{novel:list count="10" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
{volist name='Novel.n_forge_novel' id='ForgeNovel'}
|
||||
<a
|
||||
href='{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}'>{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
{/novel:list}
|
||||
<a href="/sitemap_index.xml">XML地图</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -49,12 +49,9 @@
|
||||
<!-- <li><a href="/">首 页</a></li>
|
||||
<li><a href="/nindex">小说首页</a></li> -->
|
||||
<li><a href="{$strPcPath}/">首 页</a></li>
|
||||
|
||||
{foreach $arrCategoryAll as $Sexkey=>$SexCategory }
|
||||
{foreach $SexCategory as $CategoryPinyin=>$CategoryName }
|
||||
<li><a href='{$strPcPath}{site:nflurl gender="" category="$CategoryPinyin" status="all" order="all" page="1"/}'>{$CategoryName}</a></li>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
|
||||
<li><a href='{$strPcPath}{site:nflurl category="$strCategoryPinyin" status="all" order="all" page="1"/}'>{$strCategoryName}</a></li>
|
||||
{/novel:category}
|
||||
<li><a href="{$strPcPath}{$strHistoryUrlTemp}">阅读记录</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -66,9 +63,12 @@
|
||||
<div class="layout layout3 layout-col3">
|
||||
<h2 class="layout-tit">最新标签</h2>
|
||||
<ul class="txt-list txt-list-row5 tag_news">
|
||||
{foreach $arrForgeNovel as $key=>$Novel }
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel.n_name}</a>
|
||||
{/foreach}
|
||||
{novel:list count="10" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
|
||||
{volist name='Novel.n_forge_novel' id='ForgeNovel'}
|
||||
<a
|
||||
href='{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}'>{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
{/novel:list}
|
||||
<a href="/sitemap_index.xml">XML地图</a>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -346,6 +346,7 @@ class NovelService
|
||||
$arrParams = [
|
||||
'page' => max((int)($arrParams['page'] ?? 1), 1),
|
||||
'limit' => (int)($arrParams['limit'] ?? 10),
|
||||
'button_num' => (int)($arrParams['button_num'] ?? 0),
|
||||
'n_category' => (string)($arrParams['n_category'] ?? ''),
|
||||
'sort_type' => (string)($arrParams['sort_type'] ?? ''),
|
||||
'n_status' => (string)($arrParams['n_status'] ?? ''),
|
||||
@@ -481,6 +482,7 @@ class NovelService
|
||||
|
||||
$arrResult = [
|
||||
'data' => $arrNovel['data'],
|
||||
'pages' => $arrNovel['pages'],
|
||||
'p_data' => $arrPager,
|
||||
];
|
||||
|
||||
@@ -500,13 +502,36 @@ class NovelService
|
||||
$strKey = $arrParams['key'];
|
||||
$intPage = $arrNovel['page'];
|
||||
$intLimit = $arrNovel['limit'];
|
||||
$intButtomNum = 10;
|
||||
$intButtomNum = $arrParams['button_num'];
|
||||
$strBaseUrl = app(NovelService::class)->getNovelSearchUrl($strKey, '{page}');
|
||||
$arrPaginator = CusteomPage02::generate($intPage, $arrNovel['total'], $intLimit, $strBaseUrl, $intButtomNum);
|
||||
|
||||
return $arrPaginator;
|
||||
}
|
||||
|
||||
/**
|
||||
* 书库/分类定制分页
|
||||
*
|
||||
* @param array $arrFilter 查询条件字段
|
||||
* @param array $arrSort 查询排序字段
|
||||
* @param array $arrNovel 查询出来的数据
|
||||
* @return array
|
||||
*/
|
||||
public function generateCategoryPager(array $arrParams, array $arrSort, array $arrNovel): array
|
||||
{
|
||||
$strGender = $arrParams['n_sex'];
|
||||
$strCategory = $arrParams['n_category'];
|
||||
$strStatus = $arrParams['n_status'];
|
||||
$strOrder = $arrParams['sort_type'];
|
||||
$intPage = $arrNovel['page'];
|
||||
$intLimit = $arrNovel['limit'];
|
||||
$intButtomNum = $arrParams['button_num'];
|
||||
$strBaseUrl = app(NovelService::class)->getNovelCategoryUrl($strGender, $strCategory, $strStatus, $strOrder, '{page}');
|
||||
$arrPaginator = CusteomPage02::generate($intPage, $arrNovel['total'], $intLimit, $strBaseUrl, $intButtomNum);
|
||||
|
||||
return $arrPaginator;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据NId获取小说详情
|
||||
@@ -534,7 +559,6 @@ class NovelService
|
||||
$arrNovel['n_category_sex_en'] = $arrNovel['n_category_sex_en'] ?? 'man';
|
||||
|
||||
// 最后章节
|
||||
|
||||
$arrLatestChapter = $this->ChapterModel->getLatestChapterByNId($intNId);
|
||||
|
||||
// 第一章
|
||||
@@ -554,14 +578,7 @@ class NovelService
|
||||
}
|
||||
}
|
||||
|
||||
// 最近五个章节
|
||||
$arrChapter = $this->ChapterModel->findMany([
|
||||
'n_id' => $intNId,
|
||||
'c_page' => 0,
|
||||
], 10, ['c_sort_num' => -1]);
|
||||
|
||||
// 点击数
|
||||
|
||||
$arrNovelClicks = $this->NovelClicksModel->getStats($intNId);
|
||||
|
||||
// 推荐小说
|
||||
@@ -582,7 +599,10 @@ class NovelService
|
||||
'strNovelStatus' => $arrNovel['n_status'],
|
||||
'strNovelDescription' => $arrNovel['n_description'],
|
||||
]);
|
||||
|
||||
$arrNovel['intFirstChapterSort'] = $intFirstChapterSort;
|
||||
$arrNovel['arrNovelClicks'] = $arrNovelClicks;
|
||||
$arrNovel['arrRelateveNovel'] = $arrRelateveNovel;
|
||||
$arrNovel['strFocus'] = $strFocus;
|
||||
|
||||
return $arrNovel;
|
||||
}
|
||||
|
||||
@@ -81,10 +81,30 @@ 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);
|
||||
|
||||
View::assign("strPcPath", $strPcUrlTemp);
|
||||
View::assign("strNanUrlTemp", $strNanUrlTemp);
|
||||
View::assign("strNvUrlTemp", $strNvUrlTemp);
|
||||
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('Request', $this->Request);
|
||||
View::assign('DomainModel', $this->DomainModel);
|
||||
View::assign('TemplatesModel', $this->TemplatesModel);
|
||||
View::assign('arrCategoryAll', CategoryModel::$arrCategoryAll);
|
||||
|
||||
ConverterMovel::setVal([
|
||||
'strSiteName' => $this->DomainModel->d_name,
|
||||
@@ -133,13 +153,22 @@ class SiteContext
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getHomeView(): string
|
||||
public function getHomeView(string $strPlatform): string
|
||||
{
|
||||
if ($this->DomainModel->n_id > 0) {
|
||||
$strView = 'test/test01/faker.html';
|
||||
} else {
|
||||
$strView = 'test/test01/index.html';
|
||||
if ($strPlatform == 'h5') {
|
||||
if ($this->DomainModel->n_id > 0) {
|
||||
$strView = 'novel/getNovelInfo.html';
|
||||
} else {
|
||||
$strView = 'index/index.html';
|
||||
}
|
||||
}else{
|
||||
if ($this->DomainModel->n_id > 0) {
|
||||
$strView = 'pc/getNovelInfo.html';
|
||||
} else {
|
||||
$strView = 'pc/index.html';
|
||||
}
|
||||
}
|
||||
|
||||
return $strView;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,20 +33,23 @@ class Novel extends TagLib
|
||||
{
|
||||
$page = $tag['page'] ?? '0';
|
||||
$limit = $tag['limit'] ?? '10';
|
||||
$button_num = $tag['button_num'] ?? '10';
|
||||
$n_category = $tag['n_category'] ?? "all";
|
||||
$sort_type = $tag['sort_type'] ?? "";
|
||||
$n_status = $tag['n_status'] ?? "all";
|
||||
$n_sex = $tag['n_sex'] ?? "all";
|
||||
$n_status = $tag['n_status'] ?? "";
|
||||
$n_sex = $tag['n_sex'] ?? "";
|
||||
$key = $tag['key'] ?? "";
|
||||
$diff_key = $tag['diff_key'] ?? "";
|
||||
$cache_life = $tag['cache_life'] ?? '0';
|
||||
$d_key = $tag['d_key'] ?? 'd_key';
|
||||
$d_val = $tag['d_val'] ?? 'd_val';
|
||||
$p_val = $tag['p_val'] ?? 'p_val';
|
||||
$n_num = $tag['n_num'] ?? 'n_num';
|
||||
$func = $tag['func'];
|
||||
|
||||
$page = $this->customBuildVar($page);
|
||||
$limit = $this->customBuildVar($limit);
|
||||
$button_num = $this->customBuildVar($button_num);
|
||||
$n_category = $this->customBuildVar($n_category);
|
||||
$sort_type = $this->customBuildVar($sort_type);
|
||||
$n_status = $this->customBuildVar($n_status);
|
||||
@@ -61,6 +64,7 @@ class Novel extends TagLib
|
||||
\$novelData = app(\\app\\services\\NovelService::class)->getNovelPager([
|
||||
'page' => {$page},
|
||||
'limit' => {$limit},
|
||||
'button_num' => {$button_num},
|
||||
'n_category' => {$n_category},
|
||||
'sort_type' => {$sort_type},
|
||||
'n_status' => {$n_status},
|
||||
@@ -73,6 +77,7 @@ class Novel extends TagLib
|
||||
|
||||
if (isset(\$novelData['data']) && is_array(\$novelData['data'])):
|
||||
\${$p_val} = \$novelData['p_data'] ?? [];
|
||||
\${$n_num} = \$novelData['pages'] ?? [];
|
||||
?>
|
||||
EOT;
|
||||
$strParse .= <<<EOT
|
||||
|
||||
@@ -85,9 +85,12 @@ EOD;
|
||||
$intNId = isset($tag['n_id']) ? $tag['n_id'] : '';
|
||||
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
|
||||
|
||||
$intNId = $this->customBuildVar($intNId);
|
||||
$strNPy = $this->customBuildVar($strNPy);
|
||||
|
||||
$strParse = <<<EOD
|
||||
<?php
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelInfoUrl("{$intNId}","{$strNPy}");
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelInfoUrl({$intNId},{$strNPy});
|
||||
echo \$strUrl;
|
||||
?>
|
||||
EOD;
|
||||
@@ -106,9 +109,13 @@ EOD;
|
||||
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
|
||||
$intNForgeId = isset($tag['n_fid']) ? $tag['n_fid'] : '';
|
||||
|
||||
$intNId = $this->customBuildVar($intNId);
|
||||
$strNPy = $this->customBuildVar($strNPy);
|
||||
$intNForgeId = $this->customBuildVar($intNForgeId);
|
||||
|
||||
$strParse = <<<EOD
|
||||
<?php
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getForgeNovelInfoUrl("{$intNId}","{$strNPy}","{$intNForgeId}");
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getForgeNovelInfoUrl({$intNId},{$strNPy},{$intNForgeId});
|
||||
echo \$strUrl;
|
||||
?>
|
||||
EOD;
|
||||
@@ -128,9 +135,14 @@ EOD;
|
||||
$intChapterSort = isset($tag['c_sort']) ? $tag['c_sort'] : '';
|
||||
$intChapterPage = isset($tag['c_page']) ? $tag['c_page'] : '';
|
||||
|
||||
$intNId = $this->customBuildVar($intNId);
|
||||
$strNPy = $this->customBuildVar($strNPy);
|
||||
$intChapterSort = $this->customBuildVar($intChapterSort);
|
||||
$intChapterPage = $this->customBuildVar($intChapterPage);
|
||||
|
||||
$strParse = <<<EOD
|
||||
<?php
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelChapterUrl("{$intNId}","{$strNPy}","{$intChapterSort}","{$intChapterPage}");
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelChapterUrl({$intNId},{$strNPy},{$intChapterSort},{$intChapterPage});
|
||||
echo \$strUrl;
|
||||
?>
|
||||
EOD;
|
||||
@@ -148,9 +160,12 @@ EOD;
|
||||
$intNId = isset($tag['n_id']) ? $tag['n_id'] : '';
|
||||
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
|
||||
|
||||
$intNId = $this->customBuildVar($intNId);
|
||||
$strNPy = $this->customBuildVar($strNPy);
|
||||
|
||||
$strParse = <<<EOD
|
||||
<?php
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelLasterChapterUrl("{$intNId}","{$strNPy}");
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelLasterChapterUrl({$intNId},{$strNPy});
|
||||
echo \$strUrl;
|
||||
?>
|
||||
EOD;
|
||||
@@ -170,9 +185,14 @@ EOD;
|
||||
$strOrder = isset($tag['order']) ? $tag['order'] : '';
|
||||
$intPage = isset($tag['page']) ? $tag['page'] : '';
|
||||
|
||||
$intNId = $this->customBuildVar($intNId);
|
||||
$strNPy = $this->customBuildVar($strNPy);
|
||||
$strOrder = $this->customBuildVar($strOrder);
|
||||
$intPage = $this->customBuildVar($intPage);
|
||||
|
||||
$strParse = <<<EOD
|
||||
<?php
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelCatalogUrl("{$intNId}","{$strNPy}","{$strOrder}","{$intPage}");
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelCatalogUrl({$intNId},{$strNPy},{$strOrder},{$intPage});
|
||||
echo \$strUrl;
|
||||
?>
|
||||
EOD;
|
||||
@@ -192,10 +212,16 @@ EOD;
|
||||
$strStatus = isset($tag['status']) ? $tag['status'] : '';
|
||||
$strOrder = isset($tag['order']) ? $tag['order'] : '';
|
||||
$intPage = isset($tag['page']) ? $tag['page'] : '';
|
||||
|
||||
$strGender = $this->customBuildVar($strGender);
|
||||
$strCategory = $this->customBuildVar($strCategory);
|
||||
$strStatus = $this->customBuildVar($strStatus);
|
||||
$strOrder = $this->customBuildVar($strOrder);
|
||||
$intPage = $this->customBuildVar($intPage);
|
||||
|
||||
$strParse = <<<EOD
|
||||
<?php
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelCategoryUrl("{$strGender}","{$strCategory}","{$strStatus}","{$strOrder}","{$intPage}");
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelCategoryUrl({$strGender},{$strCategory},{$strStatus},{$strOrder},{$intPage});
|
||||
echo \$strUrl;
|
||||
?>
|
||||
EOD;
|
||||
@@ -213,9 +239,12 @@ EOD;
|
||||
$strKey = isset($tag['key']) ? $tag['key'] : '';
|
||||
$intPage = isset($tag['p']) ? $tag['p'] : '';
|
||||
|
||||
$strKey = $this->customBuildVar($strKey);
|
||||
$intPage = $this->customBuildVar($intPage);
|
||||
|
||||
$strParse = <<<EOD
|
||||
<?php
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelSearchUrl("{$strKey}","{$intPage}");
|
||||
\$strUrl = app(\\app\\services\\NovelService::class)->getNovelSearchUrl({$strKey},{$intPage});
|
||||
echo \$strUrl;
|
||||
?>
|
||||
EOD;
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
{site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/}
|
||||
|
||||
# 小说详情 url
|
||||
{site:nurl n_id="$Novel->n_id" n_py="$Novel->og_novel_pin_yin"/}
|
||||
{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}
|
||||
|
||||
# 伪造小说详情 url
|
||||
{site:nnurl n_id="$Novel->n_id" n_py="$Novel->og_novel_pin_yin" n_fid="$Novel->n_forge_id"/}
|
||||
{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[og_novel_pin_yin]" order="zheng" page="1"/}
|
||||
@@ -108,14 +108,16 @@
|
||||
$sort_type ?? "all"; # 排序方式
|
||||
$n_status ?? "all"; # 查询状态
|
||||
$n_sex ?? "all"; # 查询性别
|
||||
$button_num ?? "10"; # 分页按钮数量
|
||||
$diff_key ?? ""; # 缓存键值差异
|
||||
$cache_life ?? '0'; # 缓存时间,如果需要开启缓存,这个字段必须传,而且必须大于0
|
||||
$d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称
|
||||
$d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称
|
||||
$p_val ?? 'p_val'; # 分页页码数据,这是一个数组。和之前控制器渲染的那个数组一致的。
|
||||
$n_num ?? 'n_num'; # 数据总量。和之前控制器渲染的那个 intTotalPage 一致的。
|
||||
$func ; # 这个参数是一个回调方法名,用来渲染分页页码数据的,该方法需要在 NovelService 类里面实现,func(array $arrParams, array $arrSort, array $arrNovel)
|
||||
# 样例
|
||||
{novel:pager page="1" limit="10" n_category="$Request.route.category" d_key="d_key" d_val="novel" p_val="page_data" cache_life="1000" func="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"}
|
||||
<li>
|
||||
Index: {$d_key}
|
||||
Title: {$novel.n_name}
|
||||
|
||||
Reference in New Issue
Block a user