This commit is contained in:
make
2025-04-18 22:20:35 +08:00
parent 0b83e04b34
commit ed4a97bc19
21 changed files with 487 additions and 341 deletions

View File

@@ -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);

View File

@@ -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;
// }
// }
// }
// }
// }

View File

@@ -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}

View File

@@ -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>

View File

@@ -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']??'未知小说'}" />

View File

@@ -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}" />

View File

@@ -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>&nbsp;&nbsp;
{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>&nbsp;&nbsp;
{/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>&nbsp;&nbsp;
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>&nbsp;&nbsp;
{/volist}
</div>
</div>

View File

@@ -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}

View File

@@ -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>

View File

@@ -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']??'未知小说'}" />

View File

@@ -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}" />

View File

@@ -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>&gt;
<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>&nbsp;&nbsp;
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp;
{/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>

View File

@@ -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}

View File

@@ -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>

View File

@@ -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>&nbsp;&nbsp;
{/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>&nbsp;&nbsp;
{/volist}
{/novel:list}
<a href="/sitemap_index.xml">XML地图</a>&nbsp;&nbsp;
</div>
</div>

View File

@@ -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>&nbsp;&nbsp;
{/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>&nbsp;&nbsp;
{/volist}
{/novel:list}
<a href="/sitemap_index.xml">XML地图</a>
</ul>
</div>