This commit is contained in:
make
2025-04-12 18:20:35 +08:00
parent 1d431ecce5
commit 760fe47b5e
40 changed files with 751 additions and 338 deletions

View File

@@ -90,12 +90,28 @@ abstract class BaseController
*/ */
public function rending($strTemplate = '') public function rending($strTemplate = '')
{ {
// pc端url目录模板 // 全局使用的URL模板
$strPcUrlPathTemplate = $this->request->DomainModel->getFomartSubject('PC_URL_PATH','',false); $strPcUrlTemp = $this->request->DomainModel->getFomartSubject('PC_URL_PATH','',false);
// var_dump($strPcUrlPathTemplate); $strNanUrlTemp = $this->request->DomainModel->getFomartSubject('NAN_SHENG_URL','',false);
$strNvUrlTemp = $this->request->DomainModel->getFomartSubject('NV_SHENG_URL','',false);
$strCategoryIndexUrlTemp = $this->request->DomainModel->getFomartSubject('CATEGORY_INDEX_URL','',false);
$strRankUrlTemp = $this->request->DomainModel->getFomartSubject('RANK_INFO_URL','',false);
$strSearchIndexUrlTemp = $this->request->DomainModel->getFomartSubject('SEARCH_INDEX_URL','',false);
$strHistoryUrlTemp = $this->request->DomainModel->getFomartSubject('HISTORY_INFO_URL','',false);
$strBookShelfUrlTemp = $this->request->DomainModel->getFomartSubject('SHUJIA_INFO_URL','',false);
$strUserUrlTemp = $this->request->DomainModel->getFomartSubject('USER_INFO_URL','',false);
View::assign("DomainModel", $this->request->DomainModel); View::assign("DomainModel", $this->request->DomainModel);
View::assign("TemplatesModel", $this->request->TemplatesModel); View::assign("TemplatesModel", $this->request->TemplatesModel);
View::assign("strPcPath", $strPcUrlPathTemplate); 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);
return View::fetch($strTemplate); return View::fetch($strTemplate);
} }

View File

@@ -42,11 +42,11 @@ $arrRoutes = [
// 目录相关路径 // 目录相关路径
'catalog' => [ 'catalog' => [
'/xiaoshuo/:name-:intNovelId/mulu/:strOrder/[:intPage]', '/xiaoshuo/:name-:intNovelId/mulu/:strOrder/[:intPage]',
'/novel/:name-:intNovelId/mulu/:strOrder/[:intPage]', '/novel/:name-:intNovelId/catalog/:strOrder/[:intPage]',
'/book/:name-:intNovelId/mulu/:strOrder/[:intPage]', '/book/:name-:intNovelId/table/:strOrder/[:intPage]',
'/xiaoshuo/:name-:intNovelId/mulu/:strOrder/[:intPage]', '/xiaoshuo/:name-:intNovelId/mulu/:strOrder/[:intPage]',
'/novel/:name-:intNovelId/mulu/:strOrder/[:intPage]', '/novel/:name-:intNovelId/catalog/:strOrder/[:intPage]',
'/book/:name-:intNovelId/mulu/:strOrder/[:intPage]', '/book/:name-:intNovelId/table/:strOrder/[:intPage]',
], ],
// 伪小说详情相关路径 // 伪小说详情相关路径
@@ -145,7 +145,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
break; break;
case 'catalog': case 'catalog':
//目录 //目录
Route::get($strRoute, [Novel::class, 'getNovelChapterAll']) Route::get($strRoute, [Novel::class, 'getNovelCatalog'])
->append(['boolIsMobile' => $boolIsMobile]) ->append(['boolIsMobile' => $boolIsMobile])
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']); ->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
break; break;
@@ -154,7 +154,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
Route::get($strRoute, [Novel::class, 'getLibrary']) Route::get($strRoute, [Novel::class, 'getLibrary'])
->append(['boolIsMobile' => $boolIsMobile]) ->append(['boolIsMobile' => $boolIsMobile])
->pattern([ ->pattern([
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all', 'strGender' => '[a-z\-]+',
'strCategory' => '[a-z\-]+', 'strCategory' => '[a-z\-]+',
'strStatus' => 'all|lianzai|wanjie', 'strStatus' => 'all|lianzai|wanjie',
'intPage' => '\d+' 'intPage' => '\d+'

View File

@@ -103,6 +103,7 @@ class Novel extends BaseController
public function getLibrary(Request $Request, $strGender = 'all', $strCategory = 'all', $strStatus = 'all', $intPage = 1) public function getLibrary(Request $Request, $strGender = 'all', $strCategory = 'all', $strStatus = 'all', $intPage = 1)
{ {
$boolIsMobile = $Request->param('boolIsMobile'); $boolIsMobile = $Request->param('boolIsMobile');
$strChannel = $Request->param('strChannel') ?? 'all';
// 性别 // 性别
@@ -198,6 +199,7 @@ class Novel extends BaseController
'strSearchCategory' => $strSearchCategory, 'strSearchCategory' => $strSearchCategory,
'strSearchStatus' => $strSearchStatus, 'strSearchStatus' => $strSearchStatus,
'strNovelSex' => $arrSexChinese[$strGender], 'strNovelSex' => $arrSexChinese[$strGender],
'strChannel' => $strChannel,
'strTitle' => $strTitle, 'strTitle' => $strTitle,
'strKeywords' => $strKeywords, 'strKeywords' => $strKeywords,
'strDescription' => $strDescription, 'strDescription' => $strDescription,
@@ -487,6 +489,13 @@ class Novel extends BaseController
$ChapterModel = ChapterModel::getInstance(); $ChapterModel = ChapterModel::getInstance();
$arrLatestChapter = $ChapterModel->getLatestChapterByNId($intNId); $arrLatestChapter = $ChapterModel->getLatestChapterByNId($intNId);
// 第一章
$arrFirstChapter = $ChapterModel->getFirstChapterByNId($intNId,false);
$intFirstChapterSort = null;
if ($arrFirstChapter) {
$intFirstChapterSort = $arrFirstChapter['c_sort_num'];
}
$strFocus = ''; $strFocus = '';
// 要点 // 要点
if ($arrLatestChapter) { if ($arrLatestChapter) {
@@ -541,6 +550,7 @@ class Novel extends BaseController
'arrLatestChapter' => $arrLatestChapter, 'arrLatestChapter' => $arrLatestChapter,
'arrNovelClicks' => $arrNovelClicks, 'arrNovelClicks' => $arrNovelClicks,
'strFocus' => $strFocus, 'strFocus' => $strFocus,
'intFirstChapterSort' => $intFirstChapterSort,
'strPageCode' => 'boy', 'strPageCode' => 'boy',
'strTitle' => $strTitle, 'strTitle' => $strTitle,
'strKeywords' => $strKeywords, 'strKeywords' => $strKeywords,
@@ -724,7 +734,7 @@ class Novel extends BaseController
* @param string $strOrder 正序倒叙:zheng/dao * @param string $strOrder 正序倒叙:zheng/dao
* @return void * @return void
*/ */
public function getNovelChapterAll(Request $Request, $intNovelId = null, $intPage = 1, $strOrder = 'zheng') public function getNovelCatalog(Request $Request, $intNovelId = null, $intPage = 1, $strOrder = 'zheng')
{ {
$boolIsMobile = $Request->param('boolIsMobile'); $boolIsMobile = $Request->param('boolIsMobile');
@@ -795,7 +805,7 @@ class Novel extends BaseController
$strView = ''; $strView = '';
$this->generateGrm(1, $intNId . '-' . $strOrder . '-' . $intPage, 110); $this->generateGrm(1, $intNId . '-' . $strOrder . '-' . $intPage, 110);
} else { } else {
$strView = 'pc/getNovelChapterAll'; $strView = 'pc/getNovelCatalog';
$this->generateGrm(2, $intNId . '-' . $strOrder . '-' . $intPage, 110); $this->generateGrm(2, $intNId . '-' . $strOrder . '-' . $intPage, 110);
} }
@@ -837,7 +847,9 @@ class Novel extends BaseController
$intButtomNum = 10; $intButtomNum = 10;
$strBaseUrl = sprintf('/search.html?keyword=%s&page={page}', $strSearchKeywords); // $strSearchInfoUrlTemp = $Request->DomainModel->getFomartSubject('SEARCH_INFO_URL','',false);
// $strBaseUrl = sprintf('/search.html?keyword=%s&page={page}', $strSearchKeywords);
$strBaseUrl = NovelModel::getNovelSearchUrl($strSearchKeywords,'{page}');
$arrPaginator = CusteomPage02::generate($intPage, $arrPage['total'], $intLimit, $strBaseUrl, $intButtomNum); $arrPaginator = CusteomPage02::generate($intPage, $arrPage['total'], $intLimit, $strBaseUrl, $intButtomNum);
// 更新值 // 更新值

View File

@@ -20,7 +20,7 @@
"url": "https://{$DomainModel->d_domain}", "url": "https://{$DomainModel->d_domain}",
"potentialAction": { "potentialAction": {
"@type": "SearchAction", "@type": "SearchAction",
"target": "https://https://{$DomainModel->d_domain}/search.html?keyword={search_term_string}", "target": 'https://https://{$DomainModel->d_domain}{site:souurl key="search_term_string" p="1"/}',
"query-input": "required name=search_term_string" "query-input": "required name=search_term_string"
} }
} }
@@ -44,21 +44,13 @@
</div> </div>
<h2 class="site-description">{$DomainModel->d_index_description}</h2> <h2 class="site-description">{$DomainModel->d_index_description}</h2>
<!-- search -->
<!-- <div class="bar">
<form method="post" name="search" action="/search.html">
<input type="text" name="keyword" id="q" placeholder="请输入书名/作者" class="search-key" />
<button type="submit" class="search-btn" id="search-btn">Go</button>
</form>
</div> -->
<!-- nav --> <!-- nav -->
<div class="nav"> <div class="nav">
<a href="/paihang/all"> <a href="{$strRankUrlTemp}">
<img src="/template/kuangyu/home/new_wap/images/ranking.png" alt="排行榜" /> <img src="/template/kuangyu/home/new_wap/images/ranking.png" alt="排行榜" />
<span>排行榜</span> <span>排行榜</span>
</a> </a>
<a href="/shuku/all"> <a href="{$strCategoryIndexUrlTemp}">
<img src="/template/kuangyu/home/new_wap/images/bookcase.png" alt="书库" /> <img src="/template/kuangyu/home/new_wap/images/bookcase.png" alt="书库" />
<span>书库</span> <span>书库</span>
</a> </a>
@@ -67,8 +59,8 @@
alt="文章" /> alt="文章" />
<span>文章</span> <span>文章</span>
</a> --> </a> -->
<a href="/user"> <a href="{$strUserUrlTemp}">
<img src="/template/kuangyu/home/new_wap/images/user.png" <img src="/template/kuangyu/home/new_wap/images{$strUserUrlTemp}.png"
alt="书架" /> alt="书架" />
<span>个人中心</span> <span>个人中心</span>
</a> </a>

View File

@@ -57,7 +57,7 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="/shuku/all" itemprop="item"> <a href="{$strCategoryIndexUrlTemp}" itemprop="item">
<span itemprop="name">书库</span> <span itemprop="name">书库</span>
</a> </a>
<meta itemprop="position" content="2" /> <meta itemprop="position" content="2" />

View File

@@ -7,7 +7,7 @@
<meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'}章节目录 - {$DomainModel->d_name} 第{$intPage}页 " /> <meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'}章节目录 - {$DomainModel->d_name} 第{$intPage}页 " />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content="{$strDescription??'暂无简介'}" />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrLatestChapter.c_sort_num ?? 1}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" /> <meta property="og:site_name" content="{$DomainModel->d_name}" />
@@ -15,12 +15,12 @@
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$intPage}"> content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrLatestChapter.c_sort_num ?? 1}"> content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
@@ -43,13 +43,13 @@
"name": "{$DomainModel->d_name}", "name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}" "url": "https://{$DomainModel->d_domain}"
}, },
"url": "https://{$DomainModel->d_domain}/xiaoshuo/$arrNovel[og_novel_pin_yin]/mulu/zheng/{$intPage}", "url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="$intPage"/}',
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel['og_novel_category'] ?? '未知分类'}", "genre": "{$arrNovel['og_novel_category'] ?? '未知分类'}",
"hasPart": { "hasPart": {
"@type": "WebPage", "@type": "WebPage",
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}章节目录 第{$intPage}页", "name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}章节目录 第{$intPage}页",
"url": "https://{$DomainModel->d_domain}/xiaoshuo/$arrNovel[og_novel_pin_yin]/mulu/zheng/{$intPage}" "url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="$intPage"/}'
} }
} }
</script> </script>
@@ -72,7 +72,7 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="/shuku/all/{$arrNovel.category_pinyin}/all/page1" itemprop="item"> <a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.og_novel_category}</span> <span itemprop="name">{$arrNovel.og_novel_category}</span>
</a> </a>
<meta itemprop="position" content="2" /> <meta itemprop="position" content="2" />
@@ -102,13 +102,12 @@
{volist name="arrPage.data" id="Chapter" key="key"} {volist name="arrPage.data" id="Chapter" key="key"}
<li> <li>
{$arrGRM[$key]|raw} {$arrGRM[$key]|raw}
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$Chapter.c_sort_num}" <a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}'
title="{$arrNovel['og_novel_book_name']} {$Chapter.name}">{$Chapter.name}</a> title="{$arrNovel['og_novel_book_name']} {$Chapter.name}">{$Chapter.name}</a>
</li> </li>
{/volist} {/volist}
</ul> </ul>
<!-- 目录下拉分页--> <!-- 目录下拉分页-->
{include file="Public/allChapterPage" /} {include file="Public/allChapterPage" /}
<div class="chapters-more"> <div class="chapters-more">

View File

@@ -7,7 +7,7 @@
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" <meta property="og:url"
content="https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }" /> content="https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? $strNanUrlTemp : $strNvUrlTemp }" />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -16,7 +16,7 @@
"@type": "book", "@type": "book",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",
"url": "https://{$DomainModel->d_domain}/{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }", "url": "https://{$DomainModel->d_domain}/{$strPageCode == 'boys' ? $strNanUrlTemp : $strNvUrlTemp }",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>
@@ -49,11 +49,11 @@
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
{eq name="strPageCode" value="boys"} {eq name="strPageCode" value="boys"}
<a href="/nansheng-xiaoshuo" itemprop="item"> <a href="{$strNanUrlTemp}" itemprop="item">
<span itemprop="name">男生</span> <span itemprop="name">男生</span>
</a> </a>
{else} {else}
<a href="/nvsheng-xiaoshuo" itemprop="item"> <a href="{$strNvUrlTemp}" itemprop="item">
<span itemprop="name">女生</span> <span itemprop="name">女生</span>
</a> </a>
{/eq} {/eq}

View File

@@ -31,12 +31,12 @@
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrChapter.n_id}/zhang-1"> content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$$arrChapter[c_sort_num]"/}'>
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrChapter.name}"> <meta property="og:novel:latest_chapter_name" content="{$arrChapter.name}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrChapter.n_id}/zhang-{$arrChapter.c_sort_num}"> content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name']??'未知小说'} {$arrChapter.name} - {$DomainModel->d_name}" /> <meta name="twitter:title" content="{$arrNovel['og_novel_book_name']??'未知小说'} {$arrChapter.name} - {$DomainModel->d_name}" />
@@ -58,14 +58,14 @@
"url": "https://{$DomainModel->d_domain}" "url": "https://{$DomainModel->d_domain}"
}, },
"image": "{$arrNovel.n_cover_path ?? ''}", "image": "{$arrNovel.n_cover_path ?? ''}",
"url": "https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}", "url":'https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}',
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel.og_novel_category ??''}", "genre": "{$arrNovel.og_novel_category ??''}",
"datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}", "datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}",
"hasPart": { "hasPart": {
"@type": "CreativeWork", "@type": "CreativeWork",
"name": "{$arrChapter.name ?? ''}", "name": "{$arrChapter.name ?? ''}",
"url": "https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}", "url":'https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}',
"description": "{$strDescription}" "description": "{$strDescription}"
} }
} }
@@ -101,12 +101,12 @@
<a href="javascript:" class="btn-normal red" data-size="14" role="button">上一章</a> <a href="javascript:" class="btn-normal red" data-size="14" role="button">上一章</a>
{else} {else}
{$arrGRM[4]|raw} {$arrGRM[4]|raw}
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrPreChapter.c_sort_num}" <a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrPreChapter[c_sort_num]" c_page="0"/}'
class="btn-normal red" data-size="14" role="button">上一章</a> class="btn-normal red" data-size="14" role="button">上一章</a>
{/if} {/if}
{if $arrNextChapter && $arrNextChapter.c_sort_num} {if $arrNextChapter && $arrNextChapter.c_sort_num}
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrNextChapter.c_sort_num}" <a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrNextChapter[c_sort_num]" c_page="0"/}'
class="btn-normal red" data-size="14" role="button">下一章</a> class="btn-normal red" data-size="14" role="button">下一章</a>
{/if} {/if}
<a href="#" class="btn-blank blue" style="display:none">已经是最后一章了 »</a> <a href="#" class="btn-blank blue" style="display:none">已经是最后一章了 »</a>
@@ -123,12 +123,12 @@
<!-- <a id="j_chapterPrev" href="javascript:void(0);">上一章</a> --> <!-- <a id="j_chapterPrev" href="javascript:void(0);">上一章</a> -->
<a href="javascript:" class="btn-normal red" data-size="14" role="button">上一章</a> <a href="javascript:" class="btn-normal red" data-size="14" role="button">上一章</a>
{else} {else}
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrPreChapter.c_sort_num}" <a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrPreChapter[c_sort_num]" c_page="0"/}'
class="btn-normal red" data-size="14" role="button">上一章</a> class="btn-normal red" data-size="14" role="button">上一章</a>
{/if} {/if}
{if $arrNextChapter && $arrNextChapter.c_sort_num} {if $arrNextChapter && $arrNextChapter.c_sort_num}
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrNextChapter.c_sort_num}" <a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrNextChapter[c_sort_num]" c_page="0"/}'
class="btn-normal red" data-size="14" role="button">下一章</a> class="btn-normal red" data-size="14" role="button">下一章</a>
{/if} {/if}
@@ -143,7 +143,7 @@
<a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'> <a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
{$arrNovel.og_novel_book_name} {$arrNovel.og_novel_book_name}
</a> </a>
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num}">{$arrChapter.name}</a> <a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}'>{$arrChapter.name}</a>
</h1> </h1>
</div> </div>
@@ -181,7 +181,7 @@
<i class="iconfont icon-SU"></i> <i class="iconfont icon-SU"></i>
书籍详情 书籍详情
</a> </a>
<a href="/bookshelf" class="read-opt-a"> <a href="{$strBookShelfUrlTemp}" class="read-opt-a">
<i class="iconfont icon-books"></i> <i class="iconfont icon-books"></i>
返回我的书架 返回我的书架
</a> </a>
@@ -274,7 +274,7 @@
<footer class="read-opt-footer"> <footer class="read-opt-footer">
<div class="btn-group"> <div class="btn-group">
<!-- id="readBtnChapter" --> <!-- id="readBtnChapter" -->
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/mulu/zheng/1" class="btn-group-cell" <a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="1"/}' class="btn-group-cell"
data-rel="asideChapter" role="button" aria-haspopup="true"> data-rel="asideChapter" role="button" aria-haspopup="true">
<i class="iconfont icon-mulu"></i> <i class="iconfont icon-mulu"></i>
<h4 class="read-opt-footer-h">目录</h4> <h4 class="read-opt-footer-h">目录</h4>
@@ -344,7 +344,7 @@
//下一章id //下一章id
nextId: '{$arrNextChapter.c_sort_num ?? 1}' nextId: '{$arrNextChapter.c_sort_num ?? 1}'
}; };
book.chapterUrl = '{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrPreChapter.c_sort_num ?? 1}'; book.chapterUrl = '{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}' ;
book.url = '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' book.url = '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'
book.nextChapterVip = 0; book.nextChapterVip = 0;
book.uid = 0; book.uid = 0;

View File

@@ -15,12 +15,12 @@
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1"> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrLatestChapter.c_sort_num ?? 1}"> content='https://{$DomainModel->d_domain}{$strPcPath}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
@@ -78,7 +78,7 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="/shuku/all/{$arrNovel.category_pinyin}/all/page1" itemprop="item"> <a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.og_novel_category}</span> <span itemprop="name">{$arrNovel.og_novel_category}</span>
</a> </a>
<meta itemprop="position" content="2" /> <meta itemprop="position" content="2" />
@@ -108,7 +108,7 @@
<h2>{$arrNovel['og_novel_book_name']}</h2> <h2>{$arrNovel['og_novel_book_name']}</h2>
<p class="info"> <p class="info">
<span>分类:{$arrNovel.og_novel_category}</span> <span>分类:{$arrNovel.og_novel_category}</span>
<span>作者:<a href="/search.html?keyword=兔子很淡定">{$arrNovel.og_novel_author}</a></span> <span>作者:<a href='{site:souurl key="$arrNovel[og_novel_author]" p="1"/}'>{$arrNovel.og_novel_author}</a></span>
<!-- <span>字数54.20万字</span> --> <!-- <span>字数54.20万字</span> -->
<span>阅读:{$arrNovelClicks.total}</span> <span>阅读:{$arrNovelClicks.total}</span>
</p> </p>
@@ -117,11 +117,13 @@
{$arrGRM[1]|raw} {$arrGRM[1]|raw}
<div class="btns"> <div class="btns">
<ul> <ul>
{if !empty($intFirstChapterSort)}
<li> <li>
{$arrGRM[2]|raw} {$arrGRM[2]|raw}
<a class="read-online reading" <a class="read-online reading" href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$intFirstChapterSort"/}'
onclick="javascript:location.href='/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1';">点击阅读</a> >点击阅读</a>
</li> </li>
{/if}
<li> <li>
<a class="b5673b5cd4b" onclick="addBookshelfFun()">加入书架</a> <a class="b5673b5cd4b" onclick="addBookshelfFun()">加入书架</a>
</li> </li>
@@ -154,7 +156,7 @@
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"} {volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
{$arrGRM[$key+20]|raw} {$arrGRM[$key+20]|raw}
<a <a
href='/kan/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'>{$ForgeNovel.n_forge_title}</a> href='{site:nnurl n_id="$Novel[n_id]" n_py="$Novel[og_novel_pin_yin]" n_fid="$ForgeNovel[n_forge_id]"/}'>{$ForgeNovel.n_forge_title}</a>
{/volist} {/volist}
</p> </p>
</div> </div>
@@ -174,14 +176,15 @@
{volist name="arrChapter" id="Chapter" key="key"} {volist name="arrChapter" id="Chapter" key="key"}
<li> <li>
{$arrGRM[$key]|raw} {$arrGRM[$key]|raw}
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$Chapter.c_sort_num}" <a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}'
title="{$arrNovel.og_novel_book_name}-{$Chapter.name}">{$Chapter.name}</a> title="{$arrNovel.og_novel_book_name}-{$Chapter.name}">{$Chapter.name}</a>
</li> </li>
{/volist} {/volist}
</ul> </ul>
<div class="chapters-more"> <div class="chapters-more">
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/mulu/zheng"
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="1"/}'
class="reading btn-bookshelf">{$arrNovel.og_novel_book_name}更多章节</a> class="reading btn-bookshelf">{$arrNovel.og_novel_book_name}更多章节</a>
</div> </div>
</div> </div>

View File

@@ -40,7 +40,7 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="/paihang/all" itemprop="item"> <a href="{$strRankUrlTemp}" itemprop="item">
<span itemprop="name">排行榜</span> <span itemprop="name">排行榜</span>
</a> </a>
</li> </li>

View File

@@ -6,7 +6,7 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$strSearchKeywords' p='1'/}" />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<meta property="og:site_name" content="{$DomainModel->d_name}"> <meta property="og:site_name" content="{$DomainModel->d_name}">
@@ -19,7 +19,7 @@
{ {
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "SearchResultsPage", "@type": "SearchResultsPage",
"url": "https://{$DomainModel->d_name}/search.html?keyword={$strSearchKeywords}", "url": "https://{$DomainModel->d_name}{site:souurl key='$strSearchKeywords' p='1'/}",
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$intPage}页", "name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$intPage}页",
"description": "搜索‘{$strSearchKeywords}’结果第{$intPage}页,提供{$strSearchKeywords}创作的小说免费阅读。", "description": "搜索‘{$strSearchKeywords}’结果第{$intPage}页,提供{$strSearchKeywords}创作的小说免费阅读。",
"datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}", "datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}",

View File

@@ -6,12 +6,12 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/bookshelf" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/bookshelf", "@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",

View File

@@ -6,12 +6,12 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/history" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strHistoryUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/history", "@context": "https://{$DomainModel->d_domain}{$strHistoryUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",

View File

@@ -6,12 +6,12 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/user" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strUserUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/user", "@context": "https://{$DomainModel->d_domain}{$strUserUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",
@@ -31,7 +31,7 @@
{$arrGRM[1]|raw} {$arrGRM[1]|raw}
<div class="i-title"> <div class="i-title">
我的书架 我的书架
<a href="{$strPcPath}/bookshelf" class="clickMore">查看更多&gt;&gt;</a> <a href="{$strPcPath}{$strBookShelfUrlTemp}" class="clickMore">查看更多&gt;&gt;</a>
</div> </div>
<ul class="bookUl" id="bookshelf-ul"> <ul class="bookUl" id="bookshelf-ul">
@@ -42,7 +42,7 @@
<div class="myMod"> <div class="myMod">
<div class="i-title"> <div class="i-title">
最近阅读 最近阅读
<a href="{$strPcPath}/history" class="clickMore">查看更多&gt;&gt;</a> <a href="{$strPcPath}{$strHistoryUrlTemp}" class="clickMore">查看更多&gt;&gt;</a>
</div> </div>
<ul class="bookUl" id="history-ul"> <ul class="bookUl" id="history-ul">
@@ -84,7 +84,7 @@
<a href="/novel/332.html"> <a href="/novel/332.html">
<span class="bookName other">{$Novel.og_novel_book_name ?? ''}</span> <span class="bookName other">{$Novel.og_novel_book_name ?? ''}</span>
</a> </a>
<a href="/search.html?keyword={$Novel->og_novel_author ?? ''}&page=1"> <a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
<span class="bookStatus other">{$Novel->og_novel_author ?? ''}</span> <span class="bookStatus other">{$Novel->og_novel_author ?? ''}</span>
</a> </a>
<span class="bookBrief"> <span class="bookBrief">
@@ -134,7 +134,7 @@
</a> </a>
<span class="bookStatus"> <span class="bookStatus">
<b class="authorSt"><em>${book.og_novel_status}</em> <b class="authorSt"><em>${book.og_novel_status}</em>
<a href="/search.html?keyword=${book.og_novel_author}"> <a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
<em class="none">${book.og_novel_author}</em> <em class="none">${book.og_novel_author}</em>
</a> </a>
</b> </b>
@@ -160,7 +160,7 @@
</a> </a>
<span class="bookStatus"> <span class="bookStatus">
<b class="authorSt"><em>${book.og_novel_status}</em> <b class="authorSt"><em>${book.og_novel_status}</em>
<a href="{$strPcPath}/search.html?keyword=${book.og_novel_author}"> <a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
<em class="none">${book.og_novel_author}</em> <em class="none">${book.og_novel_author}</em>
</a> </a>
</b> </b>
@@ -208,7 +208,7 @@
</a> </a>
<span class="bookStatus"> <span class="bookStatus">
<b class="authorSt"><em>${book.og_novel_status}</em> <b class="authorSt"><em>${book.og_novel_status}</em>
<a href="/search.html?keyword=${book.og_novel_author}"> <a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
<em class="none">${book.og_novel_author}</em> <em class="none">${book.og_novel_author}</em>
</a> </a>
</b> </b>
@@ -234,7 +234,7 @@
</a> </a>
<span class="bookStatus"> <span class="bookStatus">
<b class="authorSt"><em>${book.og_novel_status}</em> <b class="authorSt"><em>${book.og_novel_status}</em>
<a href="{$strPcPath}/search.html?keyword=${book.og_novel_author}"> <a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
<em class="none">${book.og_novel_author}</em> <em class="none">${book.og_novel_author}</em>
</a> </a>
</b> </b>

View File

@@ -33,14 +33,7 @@
<!--选择搜索 开始--> <!--选择搜索 开始-->
<div class="find"> <div class="find">
<!-- <div class="fi_t">
<div class="boFi">
<span><s></s></span>
<input type="text" class="search-val" url="/search.html" name="search_keyword" value=""
placeholder="我要搜.. " maxlength="100" autocomplete="off">
<a href="javascript:;" btn="search_keyword">搜索</a>
</div>
</div> -->
<div class="opt"> <div class="opt">
<div class="optCl" mod="search_channel"> <div class="optCl" mod="search_channel">

View File

@@ -7,16 +7,18 @@
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'} {if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/all" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}" />
{else} {else}
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}" />
<meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nflurl gender="$strGender" category="$strCategory" status="$strStatus" page="$intPage"/}' />
{/if} {/if}
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'} {if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/shuku/all", "@context": "https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}",
"@type": "book", "@type": "book",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",
@@ -26,7 +28,7 @@
{else} {else}
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}", "@context": 'https://{$DomainModel->d_domain}{site:nflurl gender="$strGender" category="$strCategory" status="$strStatus" page="$intPage"/}',
"@type": "book", "@type": "book",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",
@@ -41,9 +43,10 @@
{block name="head-css"} {block name="head-css"}
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'} {if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
<link rel="canonical" href="{$DomainModel->d_domain}/shuku/all"> <link rel="canonical" href="https://{$DomainModel->d_domain}{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}">
{else} {else}
<link rel="canonical" href="/shuku/{$strGender}/{$strCategory}/{$strStatus}/page1"> <link rel="canonical"
href='https://{$DomainModel->d_domain}{site:nflurl gender="$strGender" category="$strCategory" status="$strStatus" page="$intPage"/}'>
{/if} {/if}
{/block} {/block}
@@ -66,7 +69,7 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{$strPcPath}/shuku/all" itemprop="item"> <a href="{$strPcPath}{$strCategoryIndexUrlTemp}" itemprop="item">
<span itemprop="name">书库</span> <span itemprop="name">书库</span>
</a> </a>
</li> </li>
@@ -79,23 +82,36 @@
<div class="optCl" mod="search_channel"> <div class="optCl" mod="search_channel">
<span class="optTit">所属频道</span> <span class="optTit">所属频道</span>
<ul> <ul>
<li><a class='{eq name="strGender" value="all"}on {/eq}' href="{$strPcPath}/shuku/all/{$strCategory}/{$strStatus}/page{$intPage}" btn="search_category">全部</a></li> <li><a class='{eq name="strGender" value="all"}on {/eq}'
<li><a class='{eq name="strGender" value="nansheng-xiaoshuo"}on {/eq}' href="{$strPcPath}/shuku/nansheng-xiaoshuo/{$strCategory}/{$strStatus}/page{$intPage}" btn="search_category">男生</a></li> href='{$strPcPath}{site:nflurl gender="all" category="$strCategory" status="$strStatus" page="$intPage"/}'
<li><a class='{eq name="strGender" value="nvsheng-xiaoshuo"}on {/eq}' href="{$strPcPath}/shuku/nvsheng-xiaoshuo/{$strCategory}/{$strStatus}/page{$intPage}" btn="search_category">女生</a></li> btn="search_category">全部</a></li>
<li><a class='{eq name="strGender" value="$strNanUrlTemp"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
btn="search_category">男生</a></li>
<li><a class='{eq name="strGender" value="$strNvUrlTemp"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
btn="search_category">女生</a></li>
</ul> </ul>
</div> </div>
<div class="optCl" mod="search_channel"> <div class="optCl" mod="search_channel">
<span class="optTit">所属分类</span> <span class="optTit">所属分类</span>
<ul> <ul>
<li><a class='{eq name="strCategory" value="all"}on {/eq}' href="{$strPcPath}/shuku/{$strGender}/all/{$strStatus}/page{$intPage}" btn="search_category">全部</a></li> <li><a class='{eq name="strCategory" value="all"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strGender" category="all" status="$strStatus" page="$intPage"/}'
btn="search_category">全部</a></li>
{eq name="strGender" value="nansheng-xiaoshuo"} {eq name="strGender" value="$strNanUrlTemp"}
{foreach $arrCategoryAll.man as $key=>$vo } {foreach $arrCategoryAll.man as $key=>$vo }
<li><a class='{eq name="key" value="$strCategory"}on {/eq}' href="{$strPcPath}/shuku/{$strGender}/{$key}/{$strStatus}/page{$intPage}" btn="search_category">{$vo}</a></li> <li><a class='{eq name="key" value="$strCategory"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
btn="search_category">{$vo}</a></li>
{/foreach} {/foreach}
{else} {else}
{foreach $arrCategoryAll.women as $key=>$vo } {foreach $arrCategoryAll.women as $key=>$vo }
<li><a class='{eq name="key" value="$strCategory"}on {/eq}' href="{$strPcPath}/shuku/{$strGender}/{$key}/{$strStatus}/page{$intPage}" btn="search_category">{$vo}</a></li> <li><a class='{eq name="key" value="$strCategory"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
btn="search_category">{$vo}</a></li>
{/foreach} {/foreach}
{/eq} {/eq}
@@ -105,9 +121,17 @@
<div class="optCl"> <div class="optCl">
<span class="optTit">是否完结</span> <span class="optTit">是否完结</span>
<ul> <ul>
<li><a class='{eq name="strStatus" value="all"}on {/eq}' href="{$strPcPath}/shuku/{$strGender}/{$strCategory}/all/page{$intPage}" btn="search_category">全部</a></li> <li><a class='{eq name="strStatus" value="all"}on {/eq}'
<li><a class='{eq name="strStatus" value="lianzai"}on {/eq}' href="{$strPcPath}/shuku/{$strGender}/{$strCategory}/lianzai/page{$intPage}" btn="search_category">连载</a></li> href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="all" page="$intPage"/}'
<li><a class='{eq name="strStatus" value="wanjie"}on {/eq}' href="{$strPcPath}/shuku/{$strGender}/{$strCategory}/wanjie/page{$intPage}" btn="search_category">完本</a></li> btn="search_category">全部</a></li>
<li><a class='{eq name="strStatus" value="lianzai"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="lianzai" page="$intPage"/}'
btn="search_category">连载</a></li>
<li><a class='{eq name="strStatus" value="wanjie"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="wanjie" page="$intPage"/}'
btn="search_category">完本</a></li>
</ul> </ul>
</div> </div>
</div> </div>

View File

@@ -15,12 +15,12 @@
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrLatestChapter.n_id}/zhang-1"> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name}"> <meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrLatestChapter.n_id}/zhang-{$arrLatestChapter.c_sort_num}"> content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
@@ -41,18 +41,18 @@
"name": "{$DomainModel->d_name}", "name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}" "url": "https://{$DomainModel->d_domain}"
}, },
"url": "https://{$DomainModel->d_domain}/xiaoshuo/$arrNovel[og_novel_pin_yin]/mulu/zheng/{$intPage}", "url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="$intPage"/}',
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel['og_novel_category'] ?? '未知分类'}", "genre": "{$arrNovel['og_novel_category'] ?? '未知分类'}",
"hasPart": { "hasPart": {
"@type": "WebPage", "@type": "WebPage",
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}章节目录 第{$intPage}页", "name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}章节目录 第{$intPage}页",
"url": "https://{$DomainModel->d_domain}/xiaoshuo/$arrNovel[og_novel_pin_yin]/mulu/zheng/{$intPage}" "url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="$intPage"/}'
} }
} }
</script> </script>
{block name="head-css"} {block name="head-css"}
<link rel="canonical" href='https://{$DomainModel->d_domain}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/mulu/zheng" /}'> <link rel="canonical" href='https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="$intPage"/}'>
{/block} {/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
@@ -75,7 +75,7 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{$strPcPath}/shuku/all/{arrNovel.category_pinyin}/all/page1" itemprop="item"> <a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.og_novel_category}</span> <span itemprop="name">{$arrNovel.og_novel_category}</span>
</a> </a>
<meta itemprop="position" content="2" /> <meta itemprop="position" content="2" />
@@ -98,7 +98,11 @@
<div class="top"> <div class="top">
{$arrGRM[0]|raw} {$arrGRM[0]|raw}
<h1><a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' >{$arrNovel['og_novel_book_name']}章节目录 - {$arrNovel['og_novel_author']} - {$DomainModel->d_name} 第{$intPage}页</a></h1> <h1>
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' >
{$arrNovel['og_novel_book_name']}章节目录 - {$arrNovel['og_novel_author']} - {$DomainModel->d_name} 第{$intPage}页
</a>
</h1>
<p>作者:{$arrNovel.og_novel_author}</p> <p>作者:{$arrNovel.og_novel_author}</p>
</div> </div>
<div class="fenlei"> <div class="fenlei">
@@ -114,7 +118,7 @@
<li> <li>
{$arrGRM[$key]|raw} {$arrGRM[$key]|raw}
<h2> <h2>
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$Chapter.c_sort_num}" >{$Chapter.name}</a> <a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}' >{$Chapter.name}</a>
</h2> </h2>
</li> </li>
{/foreach} {/foreach}

View File

@@ -3,15 +3,16 @@
{block name="keywords"}{$strKeywords??''}{/block} {block name="keywords"}{$strKeywords??''}{/block}
{block name="description"}{$strDescription??''}{/block} {block name="description"}{$strDescription??''}{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? $strNanUrlTemp : $strNvUrlTemp }" />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }", "@context": "https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? $strNanUrlTemp : $strNvUrlTemp }",
"@type": "book", "@type": "book",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",
@@ -22,9 +23,9 @@
{block name="head-css"} {block name="head-css"}
{eq name="strPageCode" value="boys"} {eq name="strPageCode" value="boys"}
<link rel="canonical" href="https://{$DomainModel->d_domain}/nansheng-xiaoshuo"> <link rel="canonical" href="https://{$DomainModel->d_domain}/{$strNanUrlTemp}">
{else} {else}
<link rel="canonical" href="https://{$DomainModel->d_domain}/nvsheng-xiaoshuo"> <link rel="canonical" href="https://{$DomainModel->d_domain}/{$strNvUrlTemp}">
{/eq} {/eq}
{/block} {/block}
@@ -53,11 +54,11 @@
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
{eq name="strPageCode" value="boys"} {eq name="strPageCode" value="boys"}
<a href="{$strPcPath}/nansheng-xiaoshuo" itemprop="item"> <a href="{$strPcPath}{$strNanUrlTemp}" itemprop="item">
<span itemprop="name">男生</span> <span itemprop="name">男生</span>
</a> </a>
{else} {else}
<a href="{$strPcPath}/nvsheng-xiaoshuo" itemprop="item"> <a href="{$strPcPath}{$strNvUrlTemp}" itemprop="item">
<span itemprop="name">女生</span> <span itemprop="name">女生</span>
</a> </a>
{/eq} {/eq}

View File

@@ -12,14 +12,14 @@
<link rel="stylesheet" href="/public/layer/need/layer.css" type="text/css"> <link rel="stylesheet" href="/public/layer/need/layer.css" type="text/css">
{block name="head-css"} {block name="head-css"}
<link rel="canonical" <link rel="canonical"
href='https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}'> href='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]"/}'>
{/block} {/block}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'} {$arrChapter.name} - {$DomainModel->d_name}" /> <meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'} {$arrChapter.name} - {$DomainModel->d_name}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content="{$strDescription??'暂无简介'}" />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' /> content='https://{$DomainModel->d_domain}{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" /> <meta property="og:site_name" content="{$DomainModel->d_name}" />
@@ -27,12 +27,12 @@
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrChapter.n_id}/zhang-1"> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$$arrChapter[c_sort_num]"/}'>
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrChapter.name}"> <meta property="og:novel:latest_chapter_name" content="{$arrChapter.name}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrChapter.n_id}/zhang-{$arrChapter.c_sort_num}"> content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name']??'未知小说'} {$arrChapter.name} - {$DomainModel->d_name}" /> <meta name="twitter:title" content="{$arrNovel['og_novel_book_name']??'未知小说'} {$arrChapter.name} - {$DomainModel->d_name}" />
@@ -54,14 +54,14 @@
"url": "https://{$DomainModel->d_domain}" "url": "https://{$DomainModel->d_domain}"
}, },
"image": "{$arrNovel.n_cover_path ?? ''}", "image": "{$arrNovel.n_cover_path ?? ''}",
"url": "https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}", "url":'https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}',
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel.og_novel_category ??''}", "genre": "{$arrNovel.og_novel_category ??''}",
"datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}", "datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}",
"hasPart": { "hasPart": {
"@type": "CreativeWork", "@type": "CreativeWork",
"name": "{$arrChapter.name ?? ''}", "name": "{$arrChapter.name ?? ''}",
"url": "https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}", "url":'https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}',
"description": "{$strDescription}" "description": "{$strDescription}"
} }
} }
@@ -90,7 +90,7 @@
<dl> <dl>
</dl> </dl>
{$arrGRM[18]|raw} {$arrGRM[18]|raw}
<a class="all" href='{$strPcPath}/history'> <a class="all" href='{$strPcPath}{$strHistoryUrlTemp}'>
查看全部<em class="iconfont"></em> 查看全部<em class="iconfont"></em>
</a> </a>
</div> </div>
@@ -102,23 +102,23 @@
<h3><a href="{$strPcPath}/">首页</a></h3> <h3><a href="{$strPcPath}/">首页</a></h3>
</div> </div>
<div class="type-box"> <div class="type-box">
<h3><a href='{$strPcPath}/shuku/nansheng-xiaoshuo/all/all/page1'>男生</a></h3> <h3><a href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="all" status="all" page="1"/}'>男生</a></h3>
{foreach $arrCategoryAll.man as $key=>$vo } {foreach $arrCategoryAll.man as $key=>$vo }
<a href="{$strPcPath}/shuku/nansheng-xiaoshuo/{$key}/all/page1">{$vo}</a> <a href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="{$key}" status="all" page="1"/}'>{$vo}</a>
{/foreach} {/foreach}
</div>
<div class="type-box">
</div> <h3><a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="all" status="all" page="1"/}'>女生</a></h3>
<div class="type-box">
<h3><a href="{$strPcPath}/shuku/nvsheng-xiaoshuo/{$key}/all/page1">女生</a></h3>
{foreach $arrCategoryAll.women as $key=>$vo } {foreach $arrCategoryAll.women as $key=>$vo }
<a href="{$strPcPath}/shuku/nvsheng-xiaoshuo/{$key}/all/page1">{$vo}</a> <a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="{$key}" status="all" page="1"/}'>{$vo}</a>
{/foreach} {/foreach}
</div> </div>
<div class="type-box"> <div class="type-box">
<h3><a href="{$strPcPath}/shuku/all">书库</a></h3> <h3><a href="{$strPcPath}{$strCategoryIndexUrlTemp}">书库</a></h3>
</div> </div>
<div class="type-box"> <div class="type-box">
<h3><a href="{$strPcPath}/paihang/all">排行</a></h3> <h3><a href="{$strPcPath}{$strRankUrlTemp}">排行</a></h3>
</div> </div>
<!-- <div class="type-box"> <!-- <div class="type-box">
<h3><a href="{$strPcPath}/seo.html" >文章</a></h3> <h3><a href="{$strPcPath}/seo.html" >文章</a></h3>
@@ -131,7 +131,7 @@
<div class="read-login fr"> <div class="read-login fr">
<ul> <ul>
<li id="min-search"> <li id="min-search">
<form action="{$strPcPath}/search.html" method="get"> <form action="{$strPcPath}{$strSearchIndexUrlTemp}" method="get">
<input class="submit-input" type="submit" id="searchSubmit"> <input class="submit-input" type="submit" id="searchSubmit">
<input id="pin-input" class="pin-input hide" name="keyword" type="text" placeholder=""> <input id="pin-input" class="pin-input hide" name="keyword" type="text" placeholder="">
<label id="pin-search" for="searchSubmit"> <label id="pin-search" for="searchSubmit">
@@ -141,14 +141,12 @@
</li> </li>
<li class="line"></li> <li class="line"></li>
<li class="sign-in"> <li class="sign-in">
<img src="/template/kuangyu/reader/web/images/user-icon.png" class="headPortrait"> <img src="/template/kuangyu/reader/web/images{$strUserUrlTemp}-icon.png" class="headPortrait">
<a href="{$strPcPath}/user">123456</a> <a href="{$strPcPath}{$strUserUrlTemp}">123456</a>
<div class="dropdown"> <div class="dropdown">
<!-- <a href="/user/index/index.html">个人中心</a> --> <!-- <a href="{$strUserUrlTemp}/index/index.html">个人中心</a> -->
{$arrGRM[16]|raw} {$arrGRM[16]|raw}
<a href="{$strPcPath}/bookshelf">我的书架</a> <a href="{$strPcPath}{$strBookShelfUrlTemp}">我的书架</a>
<!-- <a href="/user/recentread/index.html">阅读记录</a> -->
<!-- <a href="/user/user/logout.html" class="exit">退出</a> -->
</div> </div>
</li> </li>
</ul> </ul>
@@ -160,16 +158,18 @@
<em class="iconfont"></em> <em class="iconfont"></em>
{if $arrNovel.category_sex == 'man'} {if $arrNovel.category_sex == 'man'}
{$arrGRM[15]|raw} {$arrGRM[15]|raw}
<a href='{$strPcPath}/shuku/nansheng-xiaoshuo/all/all/page1'>男生</a>
<a href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="all" status="all" page="1"/}'>男生</a>
<em class="iconfont"></em> <em class="iconfont"></em>
{$arrGRM[14]|raw} {$arrGRM[14]|raw}
<a <a
href='{$strPcPath}/shuku/nansheng-xiaoshuo/{$arrNovel.category_pinyin}/all/page1'>{$arrNovel.og_novel_category}</a>
href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="$arrNovel[category_pinyin]" status="all" page="1"/}'>{$arrNovel.og_novel_category}</a>
{else} {else}
<a href='{$strPcPath}/shuku/nvsheng-xiaoshuo/all/all/page1'>女生</a> <a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="all" status="all" page="1"/}'>女生</a>
<em class="iconfont"></em> <em class="iconfont"></em>
{$arrGRM[13]|raw} {$arrGRM[13]|raw}
<a href='{$strPcPath}/shuku/nvsheng-xiaoshuo/{$arrNovel.category_pinyin}/all/page1'>{$arrNovel.og_novel_category}</a> <a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="$arrNovel[category_pinyin]" status="all" page="1"/}'>{$arrNovel.og_novel_category}</a>
{/if} {/if}
<em class="iconfont"></em> <em class="iconfont"></em>
{$arrGRM[12]|raw} {$arrGRM[12]|raw}
@@ -184,10 +184,11 @@
<div class="main-text-wrap"> <div class="main-text-wrap">
<div class="text-head"> <div class="text-head">
<h1 class="j_chapterName"> <h1 class="j_chapterName">
<a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'> <a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
{$arrNovel.og_novel_book_name} {$arrNovel.og_novel_book_name}
</a> </a>
<a href="/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num}">{$arrChapter.name}</a> <a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}'
>{$arrChapter.name}</a>
</h1> </h1>
<div class="text-info cf"> <div class="text-info cf">
<div class="info fl"> <div class="info fl">
@@ -222,13 +223,13 @@
{else} {else}
{$arrGRM[10]|raw} {$arrGRM[10]|raw}
<a id="j_chapterPrev" <a id="j_chapterPrev"
href="{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrPreChapter.c_sort_num ?? 1}">上一章</a> href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrPreChapter[c_sort_num]" c_page="0"/}'>上一章</a>
{/if} {/if}
<span>|</span> <span>|</span>
{if $arrNextChapter && $arrNextChapter.c_sort_num} {if $arrNextChapter && $arrNextChapter.c_sort_num}
{$arrGRM[9]|raw} {$arrGRM[9]|raw}
<a id="j_chapterNext" <a id="j_chapterNext"
href="{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrNextChapter.c_sort_num ?? 1}">下一章</a> href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrNextChapter[c_sort_num]" c_page="0"/}'>下一章</a>
{/if} {/if}
</div> </div>
</div> </div>
@@ -238,7 +239,7 @@
<dl> <dl>
<dd id="j_navCatalogBtn"> <dd id="j_navCatalogBtn">
{$arrGRM[8]|raw} {$arrGRM[8]|raw}
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/mulu/zheng/1"> <a href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="1"/}'>
<i><em class="iconfont"></em><span>目录</span></i> <i><em class="iconfont"></em><span>目录</span></i>
</a> </a>
</dd> </dd>
@@ -380,6 +381,7 @@
}; };
</script> </script>
<script type="text/javascript"> <script type="text/javascript">
var book = {}; var book = {};
book.Info = { book.Info = {
@@ -399,7 +401,7 @@
//下一章id //下一章id
nextId: '{$arrNextChapter.c_sort_num ?? 1}' nextId: '{$arrNextChapter.c_sort_num ?? 1}'
}; };
book.chapterUrl = '{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrPreChapter.c_sort_num ?? 1}'; book.chapterUrl = '{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}' ;
book.nextChapterVip = 0; book.nextChapterVip = 0;
</script> </script>
<script type="text/javascript" src="/template/kuangyu/reader/web/js/global.js"></script> <script type="text/javascript" src="/template/kuangyu/reader/web/js/global.js"></script>

View File

@@ -15,12 +15,12 @@
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1"> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content="https://{$DomainModel->d_domain}{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrLatestChapter.c_sort_num ?? 1}"> content='https://{$DomainModel->d_domain}{$strPcPath}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
@@ -60,7 +60,7 @@
{/block} {/block}
{block name="head-css"} {block name="head-css"}
<link rel="canonical" <link rel="canonical"
href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'> href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
{/block} {/block}
{block name="logo-html"} {block name="logo-html"}
<h2> <h2>
@@ -80,19 +80,22 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{$strPcPath}/shuku/all/{$arrNovel.category_pinyin}/all/page1" itemprop="item"> <a href='{$strPcPath}{$strPcPath}{site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/}'
itemprop="item">
<span itemprop="name">{$arrNovel.og_novel_category}</span> <span itemprop="name">{$arrNovel.og_novel_category}</span>
</a> </a>
<meta itemprop="position" content="2" /> <meta itemprop="position" content="2" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' itemprop="item"> <a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'
itemprop="item">
<span itemprop="name">{$arrNovel['og_novel_book_name']}</span> <span itemprop="name">{$arrNovel['og_novel_book_name']}</span>
</a> </a>
<meta itemprop="position" content="3" /> <meta itemprop="position" content="3" />
</li> </li>
</ol> </ol>
<h1 class="site-description ">{$arrNovel['og_novel_book_name']}最新章节 - {$arrNovel['og_novel_author']} - {$DomainModel->d_name}</h1> <h1 class="site-description ">{$arrNovel['og_novel_book_name']}最新章节 - {$arrNovel['og_novel_author']} -
{$DomainModel->d_name}</h1>
</nav> </nav>
<div class="info"> <div class="info">
@@ -101,7 +104,8 @@
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' <a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'
title="{$arrNovel['og_novel_book_name']}" class="book_cov"> title="{$arrNovel['og_novel_book_name']}" class="book_cov">
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}" <img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
alt="{$arrNovel['og_novel_book_name'] ?? ''}小说封面 - {$arrNovel.og_novel_author}最新章节" class="lazyload_book_cover lazyload-img"> alt="{$arrNovel['og_novel_book_name'] ?? ''}小说封面 - {$arrNovel.og_novel_author}最新章节"
class="lazyload_book_cover lazyload-img">
<i class="serial">{$arrNovel.og_novel_status ?? ''}</i> <i class="serial">{$arrNovel.og_novel_status ?? ''}</i>
</a> </a>
<div class="btn"> <div class="btn">
@@ -143,8 +147,10 @@
</div> </div>
<div class="c04"> <div class="c04">
{if !empty($arrChapter)} {if !empty($arrChapter)}
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1" class="read">立即阅读</a> <a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$intFirstChapterSort"/}'
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/mulu/zheng" class="mulu">目录</a> class="read">立即阅读</a>
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="1"/}'
class="mulu">目录</a>
{/if} {/if}
</div> </div>
<!-- <div class="c05"> <!-- <div class="c05">
@@ -160,7 +166,8 @@
<div class="inf02"> <div class="inf02">
<h4>小说信息</h4> <h4>小说信息</h4>
<p>类别: <p>类别:
<a href='{$strPcPath}/shuku/all/{$arrNovel.category_pinyin}/all/page1' title="{$arrNovel.og_novel_category}"> <a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/}'
title="{$arrNovel.og_novel_category}">
{$arrNovel.og_novel_category} {$arrNovel.og_novel_category}
</a> </a>
</p> </p>
@@ -185,9 +192,8 @@
{volist name="arrChapter" id="Chapter" key="key"} {volist name="arrChapter" id="Chapter" key="key"}
<p> <p>
{$arrGRM[$key]|raw} {$arrGRM[$key]|raw}
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$Chapter.n_id}/zhang-{$Chapter.c_sort_num}" <a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}'
title="{$arrNovel.og_novel_book_name}-{$Chapter.name}" title="{$arrNovel.og_novel_book_name}-{$Chapter.name}" class="zj">{$Chapter.name}</a>
class="zj">{$Chapter.name}</a>
<span class="time">{$Chapter.created_at}</span> <span class="time">{$Chapter.created_at}</span>
<!-- <span class="time">3天前</span>--> <!-- <span class="time">3天前</span>-->
</p> </p>
@@ -200,11 +206,8 @@
</div> </div>
<div class="pl_con"> <div class="pl_con">
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"} {volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
{if $key<20 } {if $key<20 } {$arrGRM[$key+20]|raw} {/if} <a
{$arrGRM[$key+20]|raw} href='{$strPcPath}{site:nnurl n_id="$Novel[n_id]" n_py="$Novel[og_novel_pin_yin]" n_fid="$ForgeNovel[n_forge_id]"/}'
{/if}
<a href='{$strPcPath}/kan-xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'
class="red">{$ForgeNovel.n_forge_title}</a> class="red">{$ForgeNovel.n_forge_title}</a>
{/volist} {/volist}
@@ -240,7 +243,6 @@
</div> </div>
</li> </li>
{/volist} {/volist}
</ul> </ul>
</div> </div>
</div> </div>

View File

@@ -6,12 +6,12 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/paihang/all" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strRankUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/paihang/all", "@context": "https://{$DomainModel->d_domain}{$strRankUrlTemp}",
"@type": "NewsArticle", "@type": "NewsArticle",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",
@@ -20,7 +20,7 @@
</script> </script>
{/block} {/block}
{block name="head-css"} {block name="head-css"}
<link rel="canonical" href="https://{$DomainModel->d_domain}/paihang/all"> <link rel="canonical" href="https://{$DomainModel->d_domain}{$strRankUrlTemp}">
{/block} {/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
{block name='body-class'}body-rank-class{/block} {block name='body-class'}body-rank-class{/block}
@@ -43,7 +43,7 @@
<meta itemprop="position" content="1" /> <meta itemprop="position" content="1" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{$strPcPath}/paihang/all" itemprop="item"> <a href="{$strPcPath}{$strRankUrlTemp}" itemprop="item">
<span itemprop="name">排行榜</span> <span itemprop="name">排行榜</span>
</a> </a>
</li> </li>

View File

@@ -6,7 +6,7 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$strSearchKeywords' p='1'/}" />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<meta property="og:site_name" content="{$DomainModel->d_name}"> <meta property="og:site_name" content="{$DomainModel->d_name}">
@@ -18,7 +18,7 @@
{ {
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "SearchResultsPage", "@type": "SearchResultsPage",
"url": "https://{$DomainModel->d_name}/search.html?keyword={$strSearchKeywords}", "url": "https://{$DomainModel->d_name}{site:souurl key='$strSearchKeywords' p='1'/}",
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$intPage}页", "name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$intPage}页",
"description": "搜索‘{$strSearchKeywords}’结果第{$intPage}页,提供{$strSearchKeywords}创作的小说免费阅读。", "description": "搜索‘{$strSearchKeywords}’结果第{$intPage}页,提供{$strSearchKeywords}创作的小说免费阅读。",
"datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}", "datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}",
@@ -33,6 +33,7 @@
} }
} }
</script> </script>
{/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
{block name="logo-html"} {block name="logo-html"}
@@ -75,14 +76,14 @@
{if $intPage == 1} {if $intPage == 1}
<li class="disabled"><span>«</span></li> <li class="disabled"><span>«</span></li>
{else} {else}
<li><a href="{$strPcPath}/search.html?keyword=我&page={$intPage-1}">«</a></li> <li><a href="{$strPcPath}{$vo.url}">«</a></li>
{/if} {/if}
{/case} {/case}
{case value="下一页"} {case value="下一页"}
{if $intPage >= $intTotalPage} {if $intPage >= $intTotalPage}
<li class="disabled"><span>»</span></li> <li class="disabled"><span>»</span></li>
{else} {else}
<li><a href="{$strPcPath}/search.html?keyword=我&page={$intPage+1}">»</a></li> <li><a href='{$strPcPath}{$vo.url}'>»</a></li>
{/if} {/if}
{/case} {/case}
{case value="..."} {case value="..."}

View File

@@ -1,4 +0,0 @@
<li>
{$arrGRM[$key+[start]]|raw}
<a href='/book-name-1/zhang-1'title="01 天龙问世">01 天龙问世</a>
</li>

View File

@@ -1,7 +0,0 @@
<li class="chapter-li jsChapter">
{$arrGRM[$key+[start]]|raw}
<a href='/book-name-1/zhang-1' class="chapter-li-a"
data-chapter-id="4b2d5aab58d71">
<span class="chapter-index">01 天龙问世</span>
</a>
</li>

View File

@@ -1,16 +1,15 @@
<div class="footer"> <div class="footer">
<div class="links"> <div class="links">
<a href="/">首页</a> <a href="/">首页</a>
<a href="/nansheng-xiaoshuo">男生</a> <a href="{$strNanUrlTemp}">男生</a>
<a href="/nvsheng-xiaoshuo">女生</a> <a href="{$strNvUrlTemp}">女生</a>
<a href="/shuku/all">书库</a> <a href="{$strCategoryIndexUrlTemp}">书库</a>
<a href="/paihang/all">排行</a> <a href="{$strRankUrlTemp}">排行</a>
</div> </div>
<div id="firendlink"> <div id="firendlink">
友情连接: 友情连接:
<a href="/sitemap_index.xml">XML地图</a> <a href="/sitemap_index.xml">XML地图</a>
<a href="/site.txt">网站地图</a> <a href="/site.txt">网站地图</a>
<!-- <a href="/site.txt">kan小说</a> -->
</div> </div>
<div class="copyright"> <div class="copyright">

View File

@@ -4,7 +4,6 @@
<img class="lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg" <img class="lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}" data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.og_novel_book_name ?? ''} - {$Novel.og_novel_category ?? ''}最新章节在线免费阅读" /> alt="{$Novel.og_novel_book_name ?? ''} - {$Novel.og_novel_category ?? ''}最新章节在线免费阅读" />
<!-- <span>{$Novel.og_novel_book_name ?? ''}</span> -->
<h3>{$Novel.og_novel_book_name ?? ''}</h3> <h3>{$Novel.og_novel_book_name ?? ''}</h3>
<em> <em>
<aria>作者:</aria>{$Novel.og_novel_author ?? ''} <aria>作者:</aria>{$Novel.og_novel_author ?? ''}

View File

@@ -6,12 +6,12 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/bookshelf" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/bookshelf", "@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",

View File

@@ -6,12 +6,12 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/history" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strHistoryUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/history", "@context": "https://{$DomainModel->d_domain}{$strHistoryUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",

View File

@@ -6,12 +6,12 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}/user" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strUserUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://{$DomainModel->d_domain}/user", "@context": "https://{$DomainModel->d_domain}{$strUserUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "{$strTitle??''}",
"description": "{$strDescription??''}", "description": "{$strDescription??''}",
@@ -28,12 +28,12 @@
<div class="app_accountBlock"> <div class="app_accountBlock">
<div class="app_accountBlock_headerBg"> <div class="app_accountBlock_headerBg">
{$arrGRM[2]|raw} {$arrGRM[2]|raw}
<img src="/template/kuangyu/user/wap/images/user-bg.png" class="background"> <img src="/template/kuangyu{$strUserUrlTemp}/wap/images{$strUserUrlTemp}-bg.png" class="background">
<div class="app_accountBlock_headerCon"> <div class="app_accountBlock_headerCon">
<img src="/template/kuangyu/user/wap/images/user-icon.png"> <img src="/template/kuangyu{$strUserUrlTemp}/wap/images{$strUserUrlTemp}-icon.png">
</div> </div>
<!-- <div class="app_accountBlock_edit"> <!-- <div class="app_accountBlock_edit">
<a href="/user/user/info.html"></a> <a href="{$strUserUrlTemp}{$strUserUrlTemp}/info.html"></a>
</div> --> </div> -->
<div class="app_accountBlock_name"> <div class="app_accountBlock_name">
<span class="name">123456</span> <span class="name">123456</span>
@@ -52,26 +52,18 @@
{$arrGRM[4]|raw} {$arrGRM[4]|raw}
<ul> <ul>
<li> <li>
<a href="/bookshelf.html"><i class="iconfont"></i>我的书架</a> <a href="{$strBookShelfUrlTemp}"><i class="iconfont"></i>我的书架</a>
</li> </li>
<li> <li>
<a href="/history.html"><i class="iconfont"></i>最近阅读</a> <a href="{$strHistoryUrlTemp}"><i class="iconfont"></i>最近阅读</a>
</li> </li>
<!-- <li>
<a href="/user/comment/index.html"><i class="iconfont"></i>我的评论</a>
</li>
<li>
<a href="/user/user/info.html"><i class="iconfont"></i>个人信息</a>
</li>
<li>
<a href="/user/user/password.html"><i class="iconfont"></i>修改密码</a>
</li> -->
</ul> </ul>
</div> </div>
<!-- <div class="app_changeUser"> <!-- <div class="app_changeUser">
<button onclick="javascript:window.location.href='/user/user/logout.html'">退出登录</button> <button onclick="javascript:window.location.href='{$strUserUrlTemp}{$strUserUrlTemp}/logout.html'">退出登录</button>
</div> --> </div> -->
</div> </div>

View File

@@ -36,7 +36,7 @@
<a class="icon-menu" href="javascript:"></a> <a class="icon-menu" href="javascript:"></a>
</span> </span>
<!-- <span class="icon-grouop"> <!-- <span class="icon-grouop">
<a class="icon-bookshelf" href="/bookshelf.html"></a> <a class="icon-bookshelf" href="{$strBookShelfUrlTemp}.html"></a>
</span> --> </span> -->
</div> </div>
@@ -45,16 +45,16 @@
<div class="search-mask"></div> <div class="search-mask"></div>
<div class="search-panel"> <div class="search-panel">
<div class="search-form"> <div class="search-form">
<form method="get" name="search" action="/search.html"> <form method="get" name="search" action="{$strSearchIndexUrlTemp}">
<input type="text" name="keyword" placeholder="请输入书名/作者/专题" class="search-key"> <input type="text" name="keyword" placeholder="请输入书名/作者/专题" class="search-key">
<button type="submit" class="search-btn" id="search-btn">Go</button> <button type="submit" class="search-btn" id="search-btn">Go</button>
</form> </form>
</div> </div>
<div class="search-bar">大家都在看</div> <div class="search-bar">大家都在看</div>
<div class="search-tags"> <div class="search-tags">
<a href="/search.html?keyword=玄幻小说">玄幻小说</a> <a href='{site:souurl key="玄幻小说" p="1"/}'>玄幻小说</a>
<a href="/search.html?keyword=穿越重生">穿越重生</a> <a href='{site:souurl key="穿越重生" p="1"/}'>穿越重生</a>
<a href="/search.html?keyword=都市小说">都市小说</a> <a href='{site:souurl key="都市小说" p="1"/}'>都市小说</a>
</div> </div>
</div> </div>
</div> </div>
@@ -66,16 +66,16 @@
<a href="/"> <a href="/">
<span>首页</span> <span>首页</span>
</a> </a>
<a href="/nansheng-xiaoshuo"> <a href="{$strNanUrlTemp}">
<span>男生</span> <span>男生</span>
</a> </a>
<a href="/nvsheng-xiaoshuo"> <a href="{$strNvUrlTemp}">
<span>女生</span> <span>女生</span>
</a> </a>
<a href="/shuku/all"> <a href="{$strCategoryIndexUrlTemp}">
<span>书库</span> <span>书库</span>
</a> </a>
<a href="/paihang/all"> <a href="{$strRankUrlTemp}">
<span>排行</span> <span>排行</span>
</a> </a>
<!-- <a href="/article/list"> <!-- <a href="/article/list">
@@ -84,13 +84,13 @@
</div> </div>
<div class="menu-btn"> <div class="menu-btn">
<a class="btn-bookshelf" href="/bookshelf">我的书架</a> <a class="btn-bookshelf" href="{$strBookShelfUrlTemp}">我的书架</a>
</div> </div>
<div class="menu-btn"> <div class="menu-btn">
<a class="btn-bookshelf" href="/history">阅读记录</a> <a class="btn-bookshelf" href="{$strHistoryUrlTemp}">阅读记录</a>
</div> </div>
<div class="menu-btn"> <div class="menu-btn">
<a class="btn-bookshelf" href="/user">个人中心</a> <a class="btn-bookshelf" href="{$strUserUrlTemp}">个人中心</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -28,7 +28,7 @@
<div class="app_header_back"></div> <div class="app_header_back"></div>
<div class="app_header_h1"> <div class="app_header_h1">
{block name="head-name"}{/block} {block name="head-name"}{/block}
<a href="/user"> <i class="shujiaIco"></i> <a href="{$strUserUrlTemp}"> <i class="shujiaIco"></i>
</a> <i class="moreIco"></i> </a> <i class="moreIco"></i>
</div> </div>
</div> </div>
@@ -38,13 +38,13 @@
<a href="/">首页</a> <a href="/">首页</a>
</li> </li>
<li class="icon2"> <li class="icon2">
<a href="/shuku/all">书库</a> <a href="{$strCategoryIndexUrlTemp}">书库</a>
</li> </li>
<li class="icon3"> <li class="icon3">
<a href="/bookshelf">书架</a> <a href="{$strBookShelfUrlTemp}">书架</a>
</li> </li>
<li class="icon4"> <li class="icon4">
<a href="/user">个人中心</a> <a href="{$strUserUrlTemp}">个人中心</a>
</li> </li>
</ul> </ul>
</div> </div>
@@ -53,7 +53,7 @@
</div> </div>
<script src="/public/jquery/jquery-3.7.1.min.js"></script> <script src="/public/jquery/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="/template/kuangyu/user/wap/js/user.js"></script> <script type="text/javascript" src="/template/kuangyu{$strUserUrlTemp}/wap/js{$strUserUrlTemp}.js"></script>
<script src="/template/kuangyu/public/js/common.js"></script> <script src="/template/kuangyu/public/js/common.js"></script>
<!-- 全局统计 --> <!-- 全局统计 -->

View File

@@ -31,16 +31,16 @@
<a href="{$strPcPath}/" target="_self" title="首页">首页</a> <a href="{$strPcPath}/" target="_self" title="首页">首页</a>
</li> </li>
<li class=' {eq name="strPageCode" value="boys"}on {/eq}'> <li class=' {eq name="strPageCode" value="boys"}on {/eq}'>
<a href="{$strPcPath}/nansheng-xiaoshuo" target="_self" title="男生">男生</a> <a href="{$strPcPath}{$strNanUrlTemp}" target="_self" title="男生">男生</a>
</li> </li>
<li class=' {eq name="strPageCode" value="girls"}on {/eq}'> <li class=' {eq name="strPageCode" value="girls"}on {/eq}'>
<a href="{$strPcPath}/nvsheng-xiaoshuo" target="_self" title="女生">女生</a> <a href="{$strPcPath}{$strNvUrlTemp}" target="_self" title="女生">女生</a>
</li> </li>
<li class=' {eq name="strPageCode" value="library"}on {/eq}'> <li class=' {eq name="strPageCode" value="library"}on {/eq}'>
<a href="{$strPcPath}/shuku/all" target="_self" title="书库">书库</a> <a href="{$strPcPath}{$strCategoryIndexUrlTemp}" target="_self" title="书库">书库</a>
</li> </li>
<li class=' {eq name="strPageCode" value="rank"}on {/eq}'> <li class=' {eq name="strPageCode" value="rank"}on {/eq}'>
<a href="{$strPcPath}/paihang/all" target="_self" title="排行">排行</a> <a href="{$strPcPath}{$strRankUrlTemp}" target="_self" title="排行">排行</a>
</li> </li>
<!-- <li class=' {eq name="strPageCode" value="article"}on {/eq}'> <!-- <li class=' {eq name="strPageCode" value="article"}on {/eq}'>
<a href="{$strPcPath}/article/list" target="_self" title="文章">文章</a> <a href="{$strPcPath}/article/list" target="_self" title="文章">文章</a>
@@ -49,13 +49,13 @@
<div class="headWrap_r"> <div class="headWrap_r">
<div class="search long" id="mod_top_search"> <div class="search long" id="mod_top_search">
<div class="search_sel"> <div class="search_sel">
<input type="text" name="keyword" url="{$strPcPath}/search.html" class="search-val" value="" placeholder="我要搜.. " <input type="text" name="keyword" url="{$strPcPath}{$strSearchIndexUrlTemp}" class="search-val" value="" placeholder="我要搜.. "
maxlength="100" autocomplete="off"> maxlength="100" autocomplete="off">
</div> </div>
<a href="" class="search_btn"><s></s></a> <a href="" class="search_btn"><s></s></a>
</div> </div>
<div class="login"> <div class="login">
<span class="login_before"><a href="{$strPcPath}/user"><s></s><i>个人中心</i></a></span> <span class="login_before"><a href="{$strPcPath}{$strUserUrlTemp}"><s></s><i>个人中心</i></a></span>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,7 +8,7 @@
<meta name="description" content="{$strDescription??''}"> <meta name="description" content="{$strDescription??''}">
<title>{$strTitle??''}</title> <title>{$strTitle??''}</title>
<link rel="icon" href="/template/kuangyu/public/img/favicon.ico" type="image/x-icon" /> <link rel="icon" href="/template/kuangyu/public/img/favicon.ico" type="image/x-icon" />
<link href="/template/kuangyu/user/web/css/user.css" rel="stylesheet"> <link href="/template/kuangyu{$strUserUrlTemp}/web/css{$strUserUrlTemp}.css" rel="stylesheet">
<link rel="stylesheet" href="/template/kuangyu/public/css/common.css" type="text/css"> <link rel="stylesheet" href="/template/kuangyu/public/css/common.css" type="text/css">
{block name="head"}{/block} {block name="head"}{/block}
{block name="head-css"}{/block} {block name="head-css"}{/block}
@@ -23,19 +23,19 @@
<div class="ibody"> <div class="ibody">
<!--搜索部分 start--> <!--搜索部分 start-->
<div class="wrap1200 logo iMod"> <div class="wrap1200 logo iMod">
<a href="{$strPcPath}/user" class="fl imotie">个人中心</a> <a href="{$strPcPath}{$strUserUrlTemp}" class="fl imotie">个人中心</a>
<ul class="iUl"> <ul class="iUl">
<li> <li>
<a href="{$strPcPath}/">首页</a> <a href="{$strPcPath}/">首页</a>
</li> </li>
<li> <li>
<a href="{$strPcPath}/user">个人中心</a> <a href="{$strPcPath}{$strUserUrlTemp}">个人中心</a>
</li> </li>
<li class="accounts"> <li class="accounts">
<a href="javaScript:;">账户设置</a> <a href="javaScript:;">账户设置</a>
<p style="display: none;"> <p style="display: none;">
<a href="{$strPcPath}/user">个人信息</a> <a href="{$strPcPath}{$strUserUrlTemp}">个人信息</a>
<!-- <a href="/user/user/password.html">修改密码</a> --> <!-- <a href="{$strUserUrlTemp}{$strUserUrlTemp}/password.html">修改密码</a> -->
</p> </p>
</li> </li>
</ul> </ul>
@@ -51,13 +51,13 @@
<div class="login"> <div class="login">
<div class="login_after" id="mod_login_after"> <div class="login_after" id="mod_login_after">
<span class="yh"> <span class="yh">
<img src="/template/kuangyu/user/web/images/user-icon.png" alt="123456"> <img src="/template/kuangyu{$strUserUrlTemp}/web/images{$strUserUrlTemp}-icon.png" alt="123456">
<a href="{$strPcPath}/user">123456</a> <a href="{$strPcPath}{$strUserUrlTemp}">123456</a>
</span> </span>
<ul class="xiala"> <ul class="xiala">
<li><i class="iconfont"></i><a href="{$strPcPath}/bookshelf">我的书架</a></li> <li><i class="iconfont"></i><a href="{$strPcPath}{$strBookShelfUrlTemp}">我的书架</a></li>
<li><i class="iconfont"></i><a href="{$strPcPath}/user">个人中心</a></li> <li><i class="iconfont"></i><a href="{$strPcPath}{$strUserUrlTemp}">个人中心</a></li>
<!-- <li><i class="iconfont"></i><a href="/user/user/logout">退出</a></li> --> <!-- <li><i class="iconfont"></i><a href="{$strUserUrlTemp}{$strUserUrlTemp}/logout">退出</a></li> -->
</ul> </ul>
</div> </div>
</div> </div>
@@ -70,7 +70,7 @@
<div class="i-left"> <div class="i-left">
<div class="user_block"> <div class="user_block">
<div class="header"> <div class="header">
<span><img src="/template/kuangyu/user/web/images/user-icon.png"></span> <span><img src="/template/kuangyu{$strUserUrlTemp}/web/images{$strUserUrlTemp}-icon.png"></span>
</div> </div>
<div class="name">123456</div> <div class="name">123456</div>
<div class="user_block_list2"> <div class="user_block_list2">
@@ -97,12 +97,12 @@
</p> </p>
<ul> <ul>
<li> <li>
<a href="{$strPcPath}/bookshelf"> <a href="{$strPcPath}{$strBookShelfUrlTemp}">
<i class="iconfont"></i> <i class="iconfont"></i>
我的书架 </a> 我的书架 </a>
</li> </li>
<li> <li>
<a href="{$strPcPath}/history"> <a href="{$strPcPath}{$strHistoryUrlTemp}">
<i class="iconfont"></i> <i class="iconfont"></i>
最近阅读 </a> 最近阅读 </a>
</li> </li>
@@ -114,12 +114,12 @@
</p> </p>
<!-- <ul> <!-- <ul>
<li> <li>
<a href="/user/user/info.html"> <a href="{$strUserUrlTemp}{$strUserUrlTemp}/info.html">
<i class="iconfont"></i> <i class="iconfont"></i>
个人信息 </a> 个人信息 </a>
</li> </li>
<li> <li>
<a href="/user/user/password.html"> <a href="{$strUserUrlTemp}{$strUserUrlTemp}/password.html">
<i class="iconfont"></i> <i class="iconfont"></i>
修改密码 </a> 修改密码 </a>
</li> </li>
@@ -130,8 +130,8 @@
</div> </div>
<script src="/public/jquery/jquery-3.7.1.min.js"></script> <script src="/public/jquery/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="/template/kuangyu/user/web/js/jquery.SuperSlide.js"></script> <script type="text/javascript" src="/template/kuangyu{$strUserUrlTemp}/web/js/jquery.SuperSlide.js"></script>
<script type="text/javascript" src="/template/kuangyu/user/web/js/user.js"></script> <script type="text/javascript" src="/template/kuangyu{$strUserUrlTemp}/web/js{$strUserUrlTemp}.js"></script>
<script src="/template/kuangyu/public/js/common.js"></script> <script src="/template/kuangyu/public/js/common.js"></script>
<!-- 全局统计 --> <!-- 全局统计 -->

View File

@@ -149,6 +149,23 @@ class ChapterModel extends MongoModel
return $this->findOne($arrFilter, $arrOptions, $boolReadContent); return $this->findOne($arrFilter, $arrOptions, $boolReadContent);
} }
/**
* Undocumented function
*
* @param integer $intNId
* @return null|array
*/
public function getFirstChapterByNId(int $intNId, bool $boolReadContent = true): null|array
{
$arrFilter = ['n_id' => $intNId, 'c_page' => 0];
$arrOptions = self::$arrChapterOptions;
$arrOptions['sort'] = ['c_sort_num' => 1];
return $this->findOne($arrFilter, $arrOptions, $boolReadContent);
}
/** /**
* Undocumented function * Undocumented function
* *

View File

@@ -498,4 +498,123 @@ class NovelModel extends MongoModel
]); ]);
return (string)$strUrl; return (string)$strUrl;
} }
/**
* Undocumented function
* 伪造小说
* @param int $intNId
* @param string $intPinYin
* @return string
*/
static public function getForgeNovelInfoUrl($intNId, $intPinYin,$intNForgeId): string
{
$strKey = 'KAN_NOVEL_INFO_URL';
$strUrl = DomainModel::getPageUrl($strKey, [
'intNId' => $intNId,
'strPinYin' => $intPinYin,
'intNForgeId' => $intNForgeId,
]);
return (string)$strUrl;
}
/**
* Undocumented function
*
* @param int $intNId
* @param string $intPinYin
* @return string
*
*/
static public function getNovelChapterUrl($intNId, $intPinYin, $intChapterSort,$intChapterPage=1): string
{
$strKey = 'CONTENT_INFO_URL';
$strUrl = DomainModel::getPageUrl($strKey, [
'intNId' => $intNId,
'strPinYin' => $intPinYin,
'intChapterSort' => $intChapterSort,
'intChapterPage' => $intChapterPage,
]);
return (string)$strUrl;
}
/**
* Undocumented function
*
* @param int $intNId
* @param string $intPinYin
* @return string
*
*/
static public function getNovelLasterChapterUrl($intNId, $intPinYin): string
{
$strKey = 'NEWS_CONTENT_INFO_URL';
$strUrl = DomainModel::getPageUrl($strKey, [
'intNId' => $intNId,
'strPinYin' => $intPinYin,
]);
return (string)$strUrl;
}
/**
* Undocumented function
* 小说分类
* @param int $intNId
* @param string $intPinYin
* @return string
*
*/
static public function getNovelCategoryUrl($strGender, $strCategory, $strStatus, $intPage): string
{
$strKey = 'CATEGORY_INFO_URL';
$strUrl = DomainModel::getPageUrl($strKey, [
'strGender' => $strGender,
'strCategory' => $strCategory,
'strStatus' => $strStatus,
'intPage' => $intPage,
]);
return (string)$strUrl;
}
/**
* Undocumented function
* 小说目录
* @param int $intNId
* @param string $intPinYin
* @return string
*
*/
static public function getNovelCatalogUrl($intNId, $intPinYin, $strOrder,$intPage=1): string
{
$strKey = 'NOVEL_CATALOG_URL';
$strUrl = DomainModel::getPageUrl($strKey, [
'intNId' => $intNId,
'strPinYin' => $intPinYin,
'strOrder' => $strOrder,
'intPage' => $intPage,
]);
return (string)$strUrl;
}
/**
* Undocumented function
*
* @param int $intPage
* @param string $strKeyWords
* @return string
*/
static public function getNovelSearchUrl($strKeyWords, $intPage = 1): string
{
$strKey = 'SEARCH_INFO_URL';
$strUrl = DomainModel::getPageUrl($strKey, [
'intPage' => $intPage,
'strSearchKeywords' => $strKeyWords
]);
return (string)$strUrl;
}
} }

View File

@@ -155,21 +155,21 @@ class TemplateSeeder
] ]
], ],
'NOVEL@GETNOVELCHAPTERALL@TITLE' => [ 'NOVEL@GETNOVELCATALOG@TITLE' => [
'description' => '目录Title 模板分组', 'description' => '目录Title 模板分组',
'sfg_id' => 13, 'sfg_id' => 13,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'{strNovelName}章节目录 - {strNovelAuthor} - 免费查看 - {strSiteName} 第{intPage}页', '{strNovelName}章节目录 - {strNovelAuthor} - 免费查看 - {strSiteName} 第{intPage}页',
] ]
], ],
'NOVEL@GETNOVELCHAPTERALL@KEYWORDS' => [ 'NOVEL@GETNOVELCATALOG@KEYWORDS' => [
'description' => '目录Keywords 模板分组', 'description' => '目录Keywords 模板分组',
'sfg_id' => 14, 'sfg_id' => 14,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'{strNovelName}, 章节目录, {strNovelAuthor}, {strNovelCategoryName}, 免费阅读,{strNovelSex}小说, {strSiteKeywords}, {strSiteName}', '{strNovelName}, 章节目录, {strNovelAuthor}, {strNovelCategoryName}, 免费阅读,{strNovelSex}小说, {strSiteKeywords}, {strSiteName}',
] ]
], ],
'NOVEL@GETNOVELCHAPTERALL@DESCRIPTION' => [ 'NOVEL@GETNOVELCATALOG@DESCRIPTION' => [
'description' => '目录Description 模板分组', 'description' => '目录Description 模板分组',
'sfg_id' => 15, 'sfg_id' => 15,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
@@ -288,7 +288,7 @@ class TemplateSeeder
'/kan-xiaoshuo/{strPinYin}-{intNId}', '/kan-xiaoshuo/{strPinYin}-{intNId}',
] ]
], ],
'TABLE_INFO_URL' => [ 'NOVEL_CATALOG_URL' => [
'description' => '小说目录URL 模板1', 'description' => '小说目录URL 模板1',
'sfg_id' => 31, 'sfg_id' => 31,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
@@ -313,7 +313,7 @@ class TemplateSeeder
'description' => '搜索页URL 模板1', 'description' => '搜索页URL 模板1',
'sfg_id' => 34, 'sfg_id' => 34,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/search.html?keywords={strSearchKeywords}&page={intPage}', '/search.html?keyword={strSearchKeywords}&page={intPage}',
] ]
], ],
'HISTORY_INFO_URL' => [ 'HISTORY_INFO_URL' => [
@@ -342,6 +342,18 @@ class TemplateSeeder
'sfg_id' => 107, 'sfg_id' => 107,
'arrSubjectFomart' => ['/pc', '/web', '/desktop', '/index', '/shouye', '/zhuomian'] 'arrSubjectFomart' => ['/pc', '/web', '/desktop', '/index', '/shouye', '/zhuomian']
], ],
'CATEGORY_INDEX_URL' => [
'description' => '书库首页Url 模板1',
'sfg_id' => 108,
'arrSubjectFomart' => ['/shuku/all',]
],
'SEARCH_INDEX_URL' => [
'description' => '搜索首页URL 模板1',
'sfg_id' => 114,
'arrSubjectFomart' => [
'/search.html',
]
],
// SEO 丰富内容 // SEO 丰富内容
@@ -595,39 +607,39 @@ class TemplateSeeder
], ],
// 小说详情目录 url // 小说详情目录 url
'TABLE_INFO_URL_T2' => [ 'NOVEL_CATALOG_URL_T2' => [
'description' => '小说目录URL 模板2', 'description' => '小说目录URL 模板2',
'sfg_id' => 69, 'sfg_id' => 69,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/novel/{strPinYin}-{intNId}/mulu/{strOrder}/{intPage}', '/novel/{strPinYin}-{intNId}/catalog/{strOrder}/{intPage}',
] ]
], ],
'TABLE_INFO_URL_T3' => [ 'NOVEL_CATALOG_URL_T3' => [
'description' => '小说目录URL 模板3', 'description' => '小说目录URL 模板3',
'sfg_id' => 70, 'sfg_id' => 70,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/book/{strPinYin}-{intNId}/mulu/{strOrder}/{intPage}', '/book/{strPinYin}-{intNId}/table/{strOrder}/{intPage}',
] ]
], ],
'TABLE_INFO_URL_T4' => [ 'NOVEL_CATALOG_URL_T4' => [
'description' => '小说目录URL 模板4', 'description' => '小说目录URL 模板4',
'sfg_id' => 71, 'sfg_id' => 71,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/xiaoshuo-{strPinYin}-{intNId}/mulu/{strOrder}/{intPage}', '/xiaoshuo-{strPinYin}-{intNId}/mulu/{strOrder}/{intPage}',
] ]
], ],
'TABLE_INFO_URL_T5' => [ 'NOVEL_CATALOG_URL_T5' => [
'description' => '小说目录URL 模板5', 'description' => '小说目录URL 模板5',
'sfg_id' => 72, 'sfg_id' => 72,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/novel-{strPinYin}-{intNId}/mulu/{strOrder}/{intPage}', '/novel-{strPinYin}-{intNId}/catalog/{strOrder}/{intPage}',
] ]
], ],
'TABLE_INFO_URL_T6' => [ 'NOVEL_CATALOG_URL_T6' => [
'description' => '小说目录URL 模板6', 'description' => '小说目录URL 模板6',
'sfg_id' => 73, 'sfg_id' => 73,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/book-{strPinYin}-{intNId}/mulu/{strOrder}/{intPage}', '/book-{strPinYin}-{intNId}/table/{strOrder}/{intPage}',
] ]
], ],
@@ -718,35 +730,35 @@ class TemplateSeeder
'description' => '搜索页URL 模板2', 'description' => '搜索页URL 模板2',
'sfg_id' => 84, 'sfg_id' => 84,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/explore.html?keywords={strSearchKeywords}&page={intPage}', '/explore.html?keyword={strSearchKeywords}&page={intPage}',
] ]
], ],
'SEARCH_INFO_URL_T3' => [ 'SEARCH_INFO_URL_T3' => [
'description' => '搜索页URL 模板3', 'description' => '搜索页URL 模板3',
'sfg_id' => 85, 'sfg_id' => 85,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/sousuo.html?keywords={strSearchKeywords}&page={intPage}', '/sousuo.html?keyword={strSearchKeywords}&page={intPage}',
] ]
], ],
'SEARCH_INFO_URL_T4' => [ 'SEARCH_INFO_URL_T4' => [
'description' => '搜索页URL 模板4', 'description' => '搜索页URL 模板4',
'sfg_id' => 86, 'sfg_id' => 86,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/find.html?keywords={strSearchKeywords}&page={intPage}', '/find.html?keyword={strSearchKeywords}&page={intPage}',
] ]
], ],
'SEARCH_INFO_URL_T5' => [ 'SEARCH_INFO_URL_T5' => [
'description' => '搜索页URL 模板5', 'description' => '搜索页URL 模板5',
'sfg_id' => 87, 'sfg_id' => 87,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/query.html?keywords={strSearchKeywords}&page={intPage}', '/query.html?keyword={strSearchKeywords}&page={intPage}',
] ]
], ],
'SEARCH_INFO_URL_T6' => [ 'SEARCH_INFO_URL_T6' => [
'description' => '搜索页URL 模板6', 'description' => '搜索页URL 模板6',
'sfg_id' => 88, 'sfg_id' => 88,
'arrSubjectFomart' => [ 'arrSubjectFomart' => [
'/keywords.html?keywords={strSearchKeywords}&page={intPage}', '/keywords.html?keyword={strSearchKeywords}&page={intPage}',
] ]
], ],
@@ -787,7 +799,7 @@ class TemplateSeeder
] ]
], ],
// 历史记录 // 书架
'SHUJIA_INFO_URL_T2' => [ 'SHUJIA_INFO_URL_T2' => [
'description' => '书架URL 模板2', 'description' => '书架URL 模板2',
'sfg_id' => 97, 'sfg_id' => 97,
@@ -861,7 +873,84 @@ class TemplateSeeder
] ]
], ],
// 最新替换模板分组id 107 // 书库首页
'CATEGORY_INDEX_URL_T2' => [
'description' => '书库首页URL 模板2',
'sfg_id' => 109,
'arrSubjectFomart' => [
'/books/all',
]
],
'CATEGORY_INDEX_URL_T3' => [
'description' => '书库首页URL 模板3',
'sfg_id' => 110,
'arrSubjectFomart' => [
'/library/all',
]
],
'CATEGORY_INDEX_URL_T4' => [
'description' => '书库首页URL 模板4',
'sfg_id' => 111,
'arrSubjectFomart' => [
'/fenlei/all',
]
],
'CATEGORY_INDEX_URL_T5' => [
'description' => '书库首页URL 模板5',
'sfg_id' => 112,
'arrSubjectFomart' => [
'/class/all',
]
],
'CATEGORY_INDEX_URL_T6' => [
'description' => '书库首页URL 模板6',
'sfg_id' => 113,
'arrSubjectFomart' => [
'/category/all',
]
],
// 搜索首页
'SEARCH_INDEX_URL_T2' => [
'description' => '搜索首页URL 模板2',
'sfg_id' => 115,
'arrSubjectFomart' => [
'/explore.html',
]
],
'SEARCH_INDEX_URL_T3' => [
'description' => '搜索首页URL 模板3',
'sfg_id' => 116,
'arrSubjectFomart' => [
'/sousuo.html',
]
],
'SEARCH_INDEX_URL_T4' => [
'description' => '搜索首页URL 模板4',
'sfg_id' => 117,
'arrSubjectFomart' => [
'/find.html',
]
],
'SEARCH_INDEX_URL_T5' => [
'description' => '搜索首页URL 模板5',
'sfg_id' => 118,
'arrSubjectFomart' => [
'/query.html',
]
],
'SEARCH_INDEX_URL_T6' => [
'description' => '搜索首页URL 模板6',
'sfg_id' => 119,
'arrSubjectFomart' => [
'/keywords.html',
]
],
// 最新替换模板分组id 119
]; ];

View File

@@ -9,12 +9,17 @@ class Site extends TagLib
protected $tags = [ protected $tags = [
'cfg' => ['attr' => 'code,encode', 'close' => 0], 'cfg' => ['attr' => 'code,encode', 'close' => 0],
'wz' => ['attr' => 'wz', 'close' => 0], 'wz' => ['attr' => 'wz', 'close' => 0],
'nurl' => ['attr' => 'n_id', 'close' => 0], 'nurl' => ['attr' => 'n_id,n_py', 'close' => 0],
'nnurl' => ['attr' => 'n_id,n_py,n_fid', 'close' => 0],
'souurl' => ['attr' => 'key', 'close' => 0],
'cpurl' => ['attr' => 'n_id,n_py,c_sort,c_page', 'close' => 0],
'lcpurl' => ['attr' => 'n_id,n_py', 'close' => 0],
'nclurl' => ['attr' => 'n_id,n_py,order,page', 'close' => 0],
'nflurl' => ['attr' => 'gender,category,status,page', 'close' => 0],
'grm' => ['attr' => 'domain,code,line,diff,start,end,index,type', 'close' => 0], 'grm' => ['attr' => 'domain,code,line,diff,start,end,index,type', 'close' => 0],
]; ];
/** /**
* cfg 标签处理函数-系统配置 * cfg 标签处理函数-系统配置
* *
@@ -60,8 +65,6 @@ EOD;
return $parse; return $parse;
} }
/** /**
* 小说详情URL生成器 * 小说详情URL生成器
* *
@@ -82,6 +85,133 @@ EOD;
return $strParse; return $strParse;
} }
/**
* 伪小说详情URL生成器
*
* @param array $n_id
* @return string
*/
public function tagNNUrl($tag)
{
$intNId = isset($tag['n_id']) ? $tag['n_id'] : '';
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
$intNForgeId = isset($tag['n_fid']) ? $tag['n_fid'] : '';
$strParse = <<<EOD
<?php
\$strUrl = \\app\\model\\NovelModel::getForgeNovelInfoUrl("{$intNId}","{$strNPy}","{$intNForgeId}");
echo \$strUrl;
?>
EOD;
return $strParse;
}
/**
* 小说章节URL生成器
*
* @param array $n_id
* @return string
*/
public function tagCPUrl($tag)
{
$intNId = isset($tag['n_id']) ? $tag['n_id'] : '';
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
$intChapterSort = isset($tag['c_sort']) ? $tag['c_sort'] : '';
$intChapterPage = isset($tag['c_page']) ? $tag['c_page'] : '';
$strParse = <<<EOD
<?php
\$strUrl = \\app\\model\\NovelModel::getNovelChapterUrl("{$intNId}","{$strNPy}","{$intChapterSort}","{$intChapterPage}");
echo \$strUrl;
?>
EOD;
return $strParse;
}
/**
* 小说最新章节URL生成器
*
* @param array $n_id
* @return string
*/
public function tagLCPUrl($tag)
{
$intNId = isset($tag['n_id']) ? $tag['n_id'] : '';
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
$strParse = <<<EOD
<?php
\$strUrl = \\app\\model\\NovelModel::getNovelLasterChapterUrl("{$intNId}","{$strNPy}");
echo \$strUrl;
?>
EOD;
return $strParse;
}
/**
* 小说目录URL生成器
*
* @param array $n_id
* @return string
*/
public function tagNClUrl($tag)
{
$intNId = isset($tag['n_id']) ? $tag['n_id'] : '';
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
$strOrder = isset($tag['order']) ? $tag['order'] : '';
$intPage = isset($tag['page']) ? $tag['page'] : '';
$strParse = <<<EOD
<?php
\$strUrl = \\app\\model\\NovelModel::getNovelCatalogUrl("{$intNId}","{$strNPy}","{$strOrder}","{$intPage}");
echo \$strUrl;
?>
EOD;
return $strParse;
}
/**
* 小说书库/分类 URL生成器
*
* @param array $n_id
* @return string
*/
public function tagNFLUrl($tag)
{
$strGender = isset($tag['gender']) ? $tag['gender'] : '';
$strCategory = isset($tag['category']) ? $tag['category'] : '';
$strStatus = isset($tag['status']) ? $tag['status'] : '';
$intPage = isset($tag['page']) ? $tag['page'] : '';
$strParse = <<<EOD
<?php
\$strUrl = \\app\\model\\NovelModel::getNovelCategoryUrl("{$strGender}","{$strCategory}","{$strStatus}","{$intPage}");
echo \$strUrl;
?>
EOD;
return $strParse;
}
/**
* 搜索页URL生成器
*
* @param array $key
* @return string
*/
public function tagSouUrl($tag)
{
$strKey = isset($tag['key']) ? $tag['key'] : '';
$intPage = isset($tag['p']) ? $tag['p'] : '';
$strParse = <<<EOD
<?php
\$strUrl = \\app\\model\\NovelModel::getNovelSearchUrl("{$strKey}","{$intPage}");
echo \$strUrl;
?>
EOD;
return $strParse;
}
/** /**
* 干扰码 * 干扰码

View File

@@ -75,22 +75,30 @@ document.addEventListener("DOMContentLoaded", function () {
}); });
function handleRedirect() { function handleRedirect() {
// 获取当前路径和主机名 const { pathname, origin, search } = window.location;
const strCurrentPath = window.location.pathname || '/index.html'; // 如果路径为空,默认设置为 /index.html
const strCurrentHost = window.location.origin; // Normalize pathname by replacing multiple slashes with a single slash
const normalizedPath = pathname.replace(/\/+/g, '/');
const strCurrentPath = normalizedPath || '/index.html';
// Build URL with proper slash handling
const buildUrl = (path) => {
// Ensure path starts with a single slash and remove duplicate slashes
const cleanPath = `/${path.replace(/\/+/g, '/')}`.replace(/^\/+/, '/');
return `${origin}${cleanPath}${search}`;
};
if (isMobile()) { if (isMobile()) {
// 移动端逻辑 // Mobile logic: Redirect PC paths to mobile paths
if (strCurrentPath.startsWith(strPcPath)) { if (strCurrentPath.startsWith(strPcPath)) {
// 如果路径包含 "/pc/",去除 "/pc/" const newPath = strCurrentPath.replace(strPcPath, '') || '/';
const newPath = strCurrentPath.replace(strPcPath, '/'); // 去除 "/pc/" window.location.href = buildUrl(newPath);
window.location.href = `${strCurrentHost}${newPath}`;
} }
} else { } else {
// PC 端逻辑 // PC logic: Redirect non-PC paths to PC paths
if (!strCurrentPath.startsWith(strPcPath)) { if (!strCurrentPath.startsWith(strPcPath)) {
// 如果路径不包含 "/pc/",添加 "/pc/" const newPath = `${strPcPath}${strCurrentPath === '/' ? '' : strCurrentPath}`;
window.location.href = `${strCurrentHost}${strPcPath}${strCurrentPath}`; window.location.href = buildUrl(newPath);
} }
} }
} }

View File

@@ -19,6 +19,28 @@
# 转码 # 转码
{site:wz wz="保存永久访问二维码" /} {site:wz wz="保存永久访问二维码" /}
# 小说分类 url
{site:nflurl gender="$arrNovel[gender]" category="$arrNovel[category]" status="$arrNovel[status]" page="1"/}
{site:nflurl gender="all" category="$arrNovel[category_pinyin]" status="all" page="1"/}
# 小说详情 url
{site:nurl n_id="$Novel->n_id" n_py="$Novel->og_novel_pin_yin"/}
# 伪造小说详情 url
{site:nnurl n_id="$Novel->n_id" n_py="$Novel->og_novel_pin_yin" n_fid="$Novel->n_forge_id"/}
# 小说目录 url
{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" order="zheng" page="1"/}
# 小说章节 url
{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" c_sort="$Chapter[c_sort_num]" c_page="1"/}
# 小说最新章节 url
{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}
# 搜索详情 url
{site:souurl key="哈哈" p="1"/}
# 干扰码 # 干扰码
{site:grm domain="Request->DomainModel->d_domain" code="kuangyu-pc-index" line="50" diff="0" start="5" end="20" type="2" /} {site:grm domain="Request->DomainModel->d_domain" code="kuangyu-pc-index" line="50" diff="0" start="5" end="20" type="2" /}