This commit is contained in:
make
2025-04-21 11:59:52 +08:00
parent 3216cffb5e
commit adf88aef23
27 changed files with 543 additions and 329 deletions

View File

@@ -133,7 +133,7 @@
{block name="main"} {block name="main"}
{chapter:pagerexp page="$Request.route.intPage" page="1" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter" {chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /} cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1> <h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>

View File

@@ -1,4 +1,5 @@
{extend name="baseH5" /} {extend name="baseH5" /}
{block name="title"}{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}{/block}
@@ -134,7 +135,7 @@ c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
<ul> <ul>
{if $arrChapter.c_sort_num == 1} {if $arrChapter.c_sort_num == 1}
<li><a href='javascript:'>上一页</a></li> <li><a href='javascript:'>上一页</a></li>
{else} {elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
<li><a <li><a
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a> href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a>
</li> </li>
@@ -159,7 +160,7 @@ c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
<ul> <ul>
{if $arrChapter.c_sort_num == 1} {if $arrChapter.c_sort_num == 1}
<li><a href='javascript:'>上一页</a></li> <li><a href='javascript:'>上一页</a></li>
{else} {elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
<li><a <li><a
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a> href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a>
</li> </li>

View File

@@ -3,6 +3,40 @@
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content={site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"} />
<meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' p='1'/}" />
<meta property="og:type" content="book" />
<meta property="og:site_name" content="{$DomainModel->d_name}">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{$Request.get.keyword} - {$DomainModel->d_name}搜索 - 第{$Request.get.intPage}页">
<meta name="twitter:description" content="{$Request.get.keyword}搜索结果第{$Request.get.intPage}页,免费阅读小说,快来体验!">
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SearchResultsPage",
"url": "https://{$DomainModel->d_name}{site:souurl key='$Request.get.keyword' p='1'/}",
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$Request.get.intPage}页",
"description": "搜索‘{$Request.get.keyword}’结果第{$Request.get.intPage}页,提供{$Request.get.keyword}创作的小说免费阅读。",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"mainEntity": {
"@type": "Book",
"name": "{$DomainModel->d_name}",
"author": {
"@type": "Person",
"name": "{$DomainModel->d_name}"
},
"url": "https://{$DomainModel->d_domain}"
}
}
</script>
{/block}
{block name='nav-active-class'}home{/block} {block name='nav-active-class'}home{/block}
{block name="body-class"}novel_so novel_search_page{/block} {block name="body-class"}novel_so novel_search_page{/block}
@@ -12,14 +46,12 @@
</h2> </h2>
{/block} {/block}
{block name="main"} {block name="main"}
{novel:pagerexp page="$Request.get.page" limit="30" {novel:pagerexp page="$Request.get.page" limit="30"
key="$Request.get.keyword" key="$Request.get.keyword"
d_key="d_key" d_key="d_key"
d_val="Novel" n_num="total" d_val="Novel"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /} p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
{site:grm page_code="h5_novel_search" diff="$Request.url" num="30" g_key="arrGrm" /} {site:grm page_code="h5_novel_search" diff="$Request.url" num="30" g_key="arrGrm" /}
@@ -54,7 +86,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<div class="row sort_page_num"> <div class="row sort_page_num">
{volist name="resData.p_data.pager" id="vo" key="k"} {volist name="$resData.p_data.pager" id="vo" key="k"}
{switch $vo.label} {switch $vo.label}
{case value="上一页"} {case value="上一页"}
{if $resData.p_data.page == 1} {if $resData.p_data.page == 1}

View File

@@ -13,8 +13,8 @@
{ {
"@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}", "@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "我的书架",
"description": "{$strDescription??''}", "description": "我的书架",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>

View File

@@ -1,7 +1,9 @@
{extend name="basePc" /} {extend name="basePc" /}
{block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /} {novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
@@ -9,7 +11,7 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
@@ -28,7 +30,7 @@
<!-- 可选:支持 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['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -62,6 +64,7 @@
</script> </script>
{/block} {/block}
{block name="head-css"} {block name="head-css"}
<link rel="canonical" href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'> <link rel="canonical" href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block} {/block}
@@ -80,8 +83,8 @@
{block name="main"} {block name="main"}
{chapter:pagerexp page="$Request.route.intPage" page="1" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter" {chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="1000" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /} cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
<div class="container biqunaicc"> <div class="container biqunaicc">
<div class="row row-detail"> <div class="row row-detail">

View File

@@ -3,12 +3,14 @@
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /} {novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /} {site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
@@ -27,7 +29,7 @@
<!-- 可选:支持 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['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content="'{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -61,10 +63,12 @@
</script> </script>
{/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.n_name_pinyin" /}'> href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block} {/block}
{block name="logo-html"} {block name="logo-html"}
<h2> <h2>
<a href="{$strPcPath}/"> <a href="{$strPcPath}/">

View File

@@ -2,6 +2,41 @@
{block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block} {block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content={site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"} />
<meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' p='1'/}" />
<meta property="og:type" content="book" />
<meta property="og:site_name" content="{$DomainModel->d_name}">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{$Request.get.keyword} - {$DomainModel->d_name}搜索 - 第{$Request.get.intPage}页">
<meta name="twitter:description" content="{$Request.get.keyword}搜索结果第{$Request.get.intPage}页,免费阅读小说,快来体验!">
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SearchResultsPage",
"url": "https://{$DomainModel->d_name}{site:souurl key='$Request.get.keyword' p='1'/}",
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$Request.get.intPage}页",
"description": "搜索‘{$Request.get.keyword}’结果第{$Request.get.intPage}页,提供{$Request.get.keyword}创作的小说免费阅读。",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"mainEntity": {
"@type": "Book",
"name": "{$DomainModel->d_name}",
"author": {
"@type": "Person",
"name": "{$DomainModel->d_name}"
},
"url": "https://{$DomainModel->d_domain}"
}
}
</script>
{/block}
{block name='nav-active-class'}home{/block} {block name='nav-active-class'}home{/block}
{block name="title"}{/block} {block name="title"}{/block}

View File

@@ -1,39 +1,44 @@
{extend name="baseH5" /} {extend name="baseH5" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="h5_novel_catalog " diff="$Request.url" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}章节目录 - {$DomainModel->d_name} 第{$intPage}页 " /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="website" /> <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}" />
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}"> <meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'> content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "Book", "@type": "Book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}", "name": "{$arrNovel['n_name'] ?? '未知小说'}",
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
"author": { "author": {
"@type": "Person", "@type": "Person",
"name": "{$arrNovel['n_author'] ??'佚名'}" "name": "{$arrNovel['n_author'] ??'佚名'}"
@@ -43,16 +48,43 @@
"name": "{$DomainModel->d_name}", "name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}" "url": "https://{$DomainModel->d_domain}"
}, },
"url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="$intPage"/}', "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel['n_category'] ?? '未知分类'}", "bookFormat": "https://{$DomainModel->d_domain}/EBook",
"hasPart": { "aggregateRating": {
"@type": "WebPage", "@type": "AggregateRating",
"name": "{$arrNovel['n_name'] ?? '未知小说'}章节目录 第{$intPage}页", "ratingValue": "4.5",
"url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="$intPage"/}' "reviewCount": "100",
},
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "首页",
"item": "https://{$DomainModel->d_domain}"
},
{
"@type": "ListItem",
"position": 2,
"name": "{$arrNovel.n_category ??''}",
"item": 'https://{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
},
{
"@type": "ListItem",
"position": 3,
"name": "{$arrNovel['n_name']}",
"item": '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
} }
]
} }
</script> </script>
{/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
{block name="logo-html"} {block name="logo-html"}
@@ -62,6 +94,10 @@
{/block} {/block}
{block name="main"} {block name="main"}
{chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
<div class="wrap"> <div class="wrap">
<nav class="breadcrumb" aria-label="breadcrumb"> <nav class="breadcrumb" aria-label="breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList"> <ol itemscope itemtype="https://schema.org/BreadcrumbList">
@@ -73,13 +109,13 @@
</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">
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?> <?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<a href='{site:nflurl gender="all" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}' itemprop="item"> <a href='{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.n_category}</span> <span itemprop="name">{$arrNovel.n_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='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' itemprop="item"> <a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
<span itemprop="name">{$arrNovel['n_name']}</span> <span itemprop="name">{$arrNovel['n_name']}</span>
</a> </a>
<meta itemprop="position" content="3" /> <meta itemprop="position" content="3" />
@@ -91,7 +127,7 @@
<div class="mod mod-attentions"> <div class="mod mod-attentions">
{$arrGrm[0]|raw} {$arrGrm[0]|raw}
<div class="mod-head"> <div class="mod-head">
<h1>{$arrNovel['n_name']}章节目录 - {$arrNovel['n_author']} - {$DomainModel->d_name} 第{$intPage}页</h1> <h1>{$arrNovel['n_name']}章节目录 - {$arrNovel['n_author']} - {$DomainModel->d_name} 第{$Request.route.intPage}页</h1>
</div> </div>
@@ -100,10 +136,10 @@
{include file="public/allChapterPage" start="0"/} {include file="public/allChapterPage" start="0"/}
<ul class="clearfix"> <ul class="clearfix">
{volist name="arrPage.data" id="Chapter" key="key"} {volist name="resData.data" id="Chapter" key="key"}
<li> <li>
{$arrGrm[$key]|raw} {$arrGrm[$key]|raw}
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}' <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
title="{$arrNovel['n_name']} {$Chapter.c_name}">{$Chapter.c_name}</a> title="{$arrNovel['n_name']} {$Chapter.c_name}">{$Chapter.c_name}</a>
</li> </li>
{/volist} {/volist}

View File

@@ -2,15 +2,21 @@
<html lang="zh-CN"> <html lang="zh-CN">
<head> <head>
{site:grm page_code="h5_novel_chapter" diff="$Request.url" num="20" g_key="arrGrm" /}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{chapter:info n_id="$Request.route.intNovelId" c_sort_num="$Request.route.intChapterSort"
c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="robots" content="index, follow" /> <meta name="robots" content="index, follow" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Cache-Control" content="no-transform, max-age=3600" /> <meta http-equiv="Cache-Control" content="no-transform, max-age=3600" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" /> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
<meta name="applicable-device" content="mobile" /> <meta name="applicable-device" content="mobile" />
<meta name="keywords" content="{$strKeywords??''}"> <meta name="keywords" content='{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}'>
<meta name="description" content="{$strDescription??''}"> <meta name="description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}'>
<title>{$strTitle??''}</title> <title>{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}</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 rel="stylesheet" href="/template/kuangyu/reader/wap/css/style.css" type="text/css"> <link rel="stylesheet" href="/template/kuangyu/reader/wap/css/style.css" type="text/css">
@@ -21,9 +27,9 @@
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og: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}" />
@@ -31,16 +37,16 @@
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$$arrChapter[c_sort_num]"/}'> content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrChapter.c_name}"> <meta property="og:novel:latest_chapter_name" content="{$arrChapter.c_name}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" /> <meta name="twitter:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -58,15 +64,15 @@
"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}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}', "url":'https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel.n_category ??''}", "genre": "{$arrNovel.n_category ??''}",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"hasPart": { "hasPart": {
"@type": "CreativeWork", "@type": "CreativeWork",
"name": "{$arrChapter.c_name ?? ''}", "name": "{$arrChapter.c_name ?? ''}",
"url":'https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}', "url":'https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
"description": "{$strDescription}" "description": '{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}'
} }
} }
@@ -102,14 +108,14 @@
{if $arrChapter.c_sort_num == 1 } {if $arrChapter.c_sort_num == 1 }
{$arrGrm[3]|raw} {$arrGrm[3]|raw}
<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} {elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
{$arrGrm[4]|raw} {$arrGrm[4]|raw}
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrPreChapter[c_sort_num]" c_page="0"/}' <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.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 $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrNextChapter[c_sort_num]" c_page="0"/}' <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.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>
@@ -124,13 +130,13 @@
<div id="readLoadNext" class="read-load-next"> <div id="readLoadNext" class="read-load-next">
{if $arrChapter.c_sort_num == 1} {if $arrChapter.c_sort_num == 1}
<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} {elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrPreChapter[c_sort_num]" c_page="0"/}' <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.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 $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrNextChapter[c_sort_num]" c_page="0"/}' <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.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}
@@ -150,13 +156,13 @@
</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">
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?> <?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<a href='{site:nflurl gender="all" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}' itemprop="item"> <a href='{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.n_category}</span> <span itemprop="name">{$arrNovel.n_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='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' itemprop="item"> <a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
<span itemprop="name">{$arrNovel.n_name}</span> <span itemprop="name">{$arrNovel.n_name}</span>
</a> </a>
<meta itemprop="position" content="2" /> <meta itemprop="position" content="2" />
@@ -164,10 +170,10 @@
</ol> </ol>
</nav> </nav>
<h1 id="chapterTitle" class="read-book-name"> <h1 id="chapterTitle" class="read-book-name">
<a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> <a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrNovel.n_name} {$arrNovel.n_name}
</a> </a>
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}'>{$arrChapter.c_name}</a> <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}'>{$arrChapter.c_name}</a>
</h1> </h1>
</div> </div>
@@ -201,7 +207,7 @@
<i class="iconfont icon-lixianxiazai"></i> <i class="iconfont icon-lixianxiazai"></i>
离线章节 离线章节
</a> --> </a> -->
<a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' class="read-opt-a"> <a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' class="read-opt-a">
<i class="iconfont icon-SU"></i> <i class="iconfont icon-SU"></i>
书籍详情 书籍详情
</a> </a>
@@ -298,7 +304,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='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}' class="btn-group-cell" <a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" 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>
@@ -356,20 +362,20 @@
}; };
book.chapter = { book.chapter = {
//页面进入加载的章节id //页面进入加载的章节id
id: '{$arrPreChapter.c_sort_num ?? 1}', id: '{$arrChapter.next_chapter.c_sort_num ?? 1}',
//章节源id //章节源id
source_id: '{$arrPreChapter.c_sort_num ?? 1}', source_id: '{$arrChapter.next_chapter.c_sort_num ?? 1}',
title: '{$arrPreChapter.c_name ?? 1}', title: '{$arrChapter.next_chapter.c_name ?? 1}',
content: '', content: '',
//章节vip标识 //章节vip标识
vipStatus: 0, vipStatus: 0,
//上一章id //上一章id
prevId: '{$arrPreChapter.c_sort_num ?? 1}', prevId: '{$arrChapter.next_chapter.c_sort_num ?? 1}',
//下一章id //下一章id
nextId: '{$arrNextChapter.c_sort_num ?? 1}' nextId: '{$arrNextChapter.c_sort_num ?? 1}'
}; };
book.chapterUrl = '{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}' ; book.chapterUrl = '{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}' ;
book.url = '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' book.url = '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
book.nextChapterVip = 0; book.nextChapterVip = 0;
book.uid = 0; book.uid = 0;
</script> </script>

View File

@@ -1,13 +1,20 @@
{extend name="baseH5" /} {extend name="baseH5" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="h5_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og: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}" />
@@ -15,16 +22,16 @@
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'> content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -44,7 +51,7 @@
}, },
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}", "image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}', "url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}", "genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook", "bookFormat": "https://{$DomainModel->d_domain}/EBook",
@@ -53,10 +60,32 @@
"ratingValue": "4.5", "ratingValue": "4.5",
"reviewCount": "100", "reviewCount": "100",
}, },
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "首页",
"item": "https://{$DomainModel->d_domain}"
},
{
"@type": "ListItem",
"position": 2,
"name": "{$arrNovel.n_category ??''}",
"item": 'https://{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
},
{
"@type": "ListItem",
"position": 3,
"name": "{$arrNovel['n_name']}",
"item": '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
}
]
} }
</script> </script>
{/block} {/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
{block name="logo-html"} {block name="logo-html"}
@@ -68,7 +97,6 @@
{block name="main"} {block name="main"}
<div class="wrap"> <div class="wrap">
<nav class="breadcrumb" aria-label="breadcrumb"> <nav class="breadcrumb" aria-label="breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList"> <ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
@@ -79,13 +107,13 @@
</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">
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?> <?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<a href='{site:nflurl gender="all" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}' itemprop="item"> <a href='{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.n_category}</span> <span itemprop="name">{$arrNovel.n_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='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' itemprop="item"> <a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
<span itemprop="name">{$arrNovel['n_name']}</span> <span itemprop="name">{$arrNovel['n_name']}</span>
</a> </a>
<meta itemprop="position" content="3" /> <meta itemprop="position" content="3" />
@@ -109,19 +137,19 @@
<h2>{$arrNovel['n_name']}</h2> <h2>{$arrNovel['n_name']}</h2>
<p class="info"> <p class="info">
<span>分类:{$arrNovel.n_category}</span> <span>分类:{$arrNovel.n_category}</span>
<span>作者:<a href='{site:souurl key="$arrNovel[n_author]" p="1"/}'>{$arrNovel.n_author}</a></span> <span>作者:<a href='{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a></span>
<!-- <span>字数54.20万字</span> --> <!-- <span>字数54.20万字</span> -->
<span>阅读:{$arrNovelClicks.total}</span> <span>阅读:{$arrNovel.arrNovelClicks.total}</span>
</p> </p>
</dd> </dd>
</dl> </dl>
{$arrGrm[1]|raw} {$arrGrm[1]|raw}
<div class="btns"> <div class="btns">
<ul> <ul>
{if !empty($intFirstChapterSort)} {if !empty($arrNovel.intFirstChapterSort)}
<li> <li>
{$arrGrm[2]|raw} {$arrGrm[2]|raw}
<a class="read-online reading" href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}' <a class="read-online reading" href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'
>点击阅读</a> >点击阅读</a>
</li> </li>
{/if} {/if}
@@ -151,13 +179,13 @@
<div class="intro"> <div class="intro">
<div class="content"> <div class="content">
<p> <p>
{$strFocus} {$arrNovel.strFocus}
</p> </p>
<p class="xianglingtuijian">相邻推荐: <p class="xianglingtuijian">相邻推荐:
{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='{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}'>{$ForgeNovel.n_forge_title}</a> href='{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'>{$ForgeNovel.n_forge_title}</a>
{/volist} {/volist}
</p> </p>
</div> </div>
@@ -174,18 +202,18 @@
</div> </div>
<div class="attentions"> <div class="attentions">
<ul class="clearfix"> <ul class="clearfix">
{volist name="arrChapter" id="Chapter" key="key"} {chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
<li> <li>
{$arrGrm[$key]|raw} {$arrGrm[$key]|raw}
<a href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}' <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
title="{$arrNovel.n_name}-{$Chapter.c_name}">{$Chapter.c_name}</a> title="{$arrNovel.n_name}-{$Chapter.c_name}">{$Chapter.c_name}</a>
</li> </li>
{/volist} {/chapter:list}
</ul> </ul>
<div class="chapters-more"> <div class="chapters-more">
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}' <a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
class="reading btn-bookshelf">{$arrNovel.n_name}更多章节</a> class="reading btn-bookshelf">{$arrNovel.n_name}更多章节</a>
</div> </div>
</div> </div>
@@ -197,7 +225,7 @@
</div> </div>
<div class="book-slide"> <div class="book-slide">
<ul class="clearfix"> <ul class="clearfix">
{foreach $arrRelateveNovel as $Novel} {foreach $arrNovel.arrRelateveNovel as $Novel}
<li> <li>
{$arrGrm[$key+10]|raw} {$arrGrm[$key+10]|raw}
<a href='{site:nurl n_id="Novel.n_id" n_py="Novel.n_name_pinyin"/}'> <a href='{site:nurl n_id="Novel.n_id" n_py="Novel.n_name_pinyin"/}'>

View File

@@ -1,27 +1,29 @@
{extend name="baseH5" /} {extend name="baseH5" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content={site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"} />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$strSearchKeywords' p='1'/}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' 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}">
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{$strSearchKeywords} - {$DomainModel->d_name}搜索 - 第{$intPage}页"> <meta name="twitter:title" content="{$Request.get.keyword} - {$DomainModel->d_name}搜索 - 第{$Request.get.intPage}页">
<meta name="twitter:description" content="{$strSearchKeywords}搜索结果第{$intPage}页,免费阅读小说,快来体验!"> <meta name="twitter:description" content="{$Request.get.keyword}搜索结果第{$Request.get.intPage}页,免费阅读小说,快来体验!">
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "SearchResultsPage", "@type": "SearchResultsPage",
"url": "https://{$DomainModel->d_name}{site:souurl key='$strSearchKeywords' p='1'/}", "url": "https://{$DomainModel->d_name}{site:souurl key='$Request.get.keyword' p='1'/}",
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$intPage}页", "name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$Request.get.intPage}页",
"description": "搜索‘{$strSearchKeywords}’结果第{$intPage}页,提供{$strSearchKeywords}创作的小说免费阅读。", "description": "搜索‘{$Request.get.keyword}’结果第{$Request.get.intPage}页,提供{$Request.get.keyword}创作的小说免费阅读。",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"mainEntity": { "mainEntity": {
"@type": "Book", "@type": "Book",
@@ -35,6 +37,7 @@
} }
</script> </script>
{/block} {/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
{block name="logo-html"} {block name="logo-html"}
@@ -45,20 +48,27 @@
{block name="main"} {block name="main"}
{novel:pagerexp page="$Request.get.page" limit="30"
key="$Request.get.keyword"
d_key="d_key"
d_val="Novel"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
{site:grm page_code="h5_novel_search" diff="$Request.url" num="30" g_key="arrGrm" /}
<div class="wrap"> <div class="wrap">
<div class="mod mod-search"> <div class="mod mod-search">
<div class="search-list"> <div class="search-list">
<div class="result"> <div class="result">
<h1>{$strSearchKeywords}搜索结果 - {$DomainModel->d_name} 第{$intPage}页</h1> <h1>{$Request.get.keyword}搜索结果 - {$DomainModel->d_name} 第{$Request.get.intPage}页</h1>
搜索<span style="color:red">“{$strSearchKeywords}”</span>相关结果共有 <span style="color:red">{$arrPage.total}</span> 部小说 搜索<span style="color:red">“{$Request.get.keyword}”</span>相关结果共有 <span style="color:red">{$resData.p_data.total}</span> 部小说
</div> </div>
{if empty($arrPage.data)} {if empty($resData.data)}
<p style="text-align: center;line-height: 60px">没有相关数据</p> <p style="text-align: center;line-height: 60px">没有相关数据</p>
{else} {else}
<ul class="clearfix"> <ul class="clearfix">
{foreach $arrPage.data as $key=>$Novel} {foreach $resData.data as $key=>$Novel}
{include file="public/novelListH" start="0"/} {include file="public/novelListH" start="0"/}
{/foreach} {/foreach}
</ul> </ul>
@@ -67,17 +77,17 @@
</div> </div>
<div class="pages"> <div class="pages">
<ul class="pager"> <ul class="pager">
{volist name="arrPaginator" id="vo" key="k"} {volist name="$resData.p_data.pager" id="vo" key="k"}
{switch $vo.label} {switch $vo.label}
{case value="上一页"} {case value="上一页"}
{if $intPage == 1} {if $resData.p_data.page == 1}
<li class="disabled"><span>«</span></li> <li class="disabled"><span>«</span></li>
{else} {else}
<li><a href="{$vo.url}">«</a></li> <li><a href="{$vo.url}">«</a></li>
{/if} {/if}
{/case} {/case}
{case value="下一页"} {case value="下一页"}
{if $intPage >= $intTotalPage} {if $resData.p_data.page >= $resData.p_data.total}
<li class="disabled"><span>»</span></li> <li class="disabled"><span>»</span></li>
{else} {else}
<li><a href="{$vo.url}">»</a></li> <li><a href="{$vo.url}">»</a></li>

View File

@@ -7,7 +7,7 @@
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_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[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og: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}" />
@@ -29,7 +29,7 @@
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}', "@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"@type": "book", "@type": "book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}", "name": "{$arrNovel['n_name'] ?? '未知小说'}",
"description": "{$arrNovel['n_description'] ??'暂无简介'}", "description": "{$arrNovel['n_description'] ??'暂无简介'}",
@@ -44,7 +44,7 @@
}, },
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$Novel.n_cover_path ?? ''}", "image": "{$Novel.n_cover_path ?? ''}",
"url": '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}', "url": '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}", "genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook", "bookFormat": "https://{$DomainModel->d_domain}/EBook",
@@ -59,7 +59,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[n_name_pinyin]" /}'> href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block} {/block}
{block name="logo-html"} {block name="logo-html"}
<h2> <h2>
@@ -86,7 +86,7 @@
<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[n_name_pinyin]" /}' itemprop="item"> <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
<span itemprop="name">{$arrNovel['n_name']}</span> <span itemprop="name">{$arrNovel['n_name']}</span>
</a> </a>
<meta itemprop="position" content="3" /> <meta itemprop="position" content="3" />
@@ -97,7 +97,7 @@
<div class="info"> <div class="info">
<div class="info_box"> <div class="info_box">
<div class="info_L"> <div class="info_L">
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
title="{$arrNovel['n_name']}" class="book_cov"> title="{$arrNovel['n_name']}" class="book_cov">
<img src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}" <img src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel->n_name ?? ''}封面" class="lazyload_book_cover lazyload-img"> alt="{$Novel->n_name ?? ''}封面" class="lazyload_book_cover lazyload-img">
@@ -114,7 +114,7 @@
<div class="info_C book_inf"> <div class="info_C book_inf">
<div class="c01"> <div class="c01">
<h3><a <h3><a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$arrNovel['n_name']}</a> href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel['n_name']}</a>
</h3> </h3>
<!-- <span id="mod_book_star">0分</span> --> <!-- <span id="mod_book_star">0分</span> -->
</div> </div>
@@ -213,13 +213,13 @@
{volist name="arrRelateveNovel" id="Novel" key="key"} {volist name="arrRelateveNovel" id="Novel" key="key"}
<li> <li>
<h3> <h3>
<a href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}' <a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
title="{$Novel['n_name'] ?? ''}"> title="{$Novel['n_name'] ?? ''}">
{$Novel['n_name'] ?? ''} {$Novel['n_name'] ?? ''}
</a> </a>
</h3> </h3>
<div> <div>
<a href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}' <a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
title="$Novel['n_name'] ?? ''}" class="book_cov"> title="$Novel['n_name'] ?? ''}" class="book_cov">
<img src="/template/kuangyu/home/bai_web/images/default.png" <img src="/template/kuangyu/home/bai_web/images/default.png"
data-src="{$Novel['n_cover_path'] ?? ''}" class="lazyload_book_cover lazyload-img" data-src="{$Novel['n_cover_path'] ?? ''}" class="lazyload_book_cover lazyload-img"

View File

@@ -1,13 +1,19 @@
{extend name="basePc" /} {extend name="basePc" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="pc_novel_catalog" diff="$Request.url" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og: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}" />
@@ -15,16 +21,16 @@
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name}"> <meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -32,6 +38,7 @@
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "Book", "@type": "Book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}", "name": "{$arrNovel['n_name'] ?? '未知小说'}",
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
"author": { "author": {
"@type": "Person", "@type": "Person",
"name": "{$arrNovel['n_author'] ??'佚名'}" "name": "{$arrNovel['n_author'] ??'佚名'}"
@@ -41,18 +48,25 @@
"name": "{$DomainModel->d_name}", "name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}" "url": "https://{$DomainModel->d_domain}"
}, },
"url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="$intPage"/}', "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel['n_category'] ?? '未知分类'}", "bookFormat": "https://{$DomainModel->d_domain}/EBook",
"hasPart": { "aggregateRating": {
"@type": "WebPage", "@type": "AggregateRating",
"name": "{$arrNovel['n_name'] ?? '未知小说'}章节目录 第{$intPage}页", "ratingValue": "4.5",
"url": 'https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="$intPage"/}' "reviewCount": "100",
} },
} }
</script> </script>
{/block}
{block name="head-css"} {block name="head-css"}
<link rel="canonical" href='https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="$intPage"/}'> <link rel="canonical" href='https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="$Request.route.intPage"/}'>
{/block} {/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
@@ -65,6 +79,9 @@
{/block} {/block}
{block name="main"} {block name="main"}
{chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
<div class="content"> <div class="content">
<nav class="breadcrumb" aria-label="breadcrumb"> <nav class="breadcrumb" aria-label="breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList"> <ol itemscope itemtype="https://schema.org/BreadcrumbList">
@@ -76,13 +93,13 @@
</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">
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?> <?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}' itemprop="item"> <a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.n_category}</span> <span itemprop="name">{$arrNovel.n_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[n_name_pinyin]" /}' itemprop="item"> <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
<span itemprop="name">{$arrNovel['n_name']}</span> <span itemprop="name">{$arrNovel['n_name']}</span>
</a> </a>
<meta itemprop="position" content="3" /> <meta itemprop="position" content="3" />
@@ -100,8 +117,8 @@
<div class="top"> <div class="top">
{$arrGrm[0]|raw} {$arrGrm[0]|raw}
<h1> <h1>
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' > <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' >
{$arrNovel['n_name']}章节目录 - {$arrNovel['n_author']} - {$DomainModel->d_name} 第{$intPage}页 {$arrNovel['n_name']}章节目录 - {$arrNovel['n_author']} - {$DomainModel->d_name} 第{$Request.route.intPage}页
</a> </a>
</h1> </h1>
<p>作者:{$arrNovel.n_author}</p> <p>作者:{$arrNovel.n_author}</p>
@@ -115,11 +132,11 @@
<div class="fL_con"> <div class="fL_con">
<ul> <ul>
{foreach $arrPage.data as $key => $Chapter } {foreach $resData.data as $key => $Chapter }
<li> <li>
{$arrGrm[$key]|raw} {$arrGrm[$key]|raw}
<h2> <h2>
<a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}' >{$Chapter.c_name}</a> <a href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}' >{$Chapter.c_name}</a>
</h2> </h2>
</li> </li>
{/foreach} {/foreach}

View File

@@ -1,25 +1,31 @@
<html> <html>
<head> <head>
{site:grm page_code="pc_novel_chapter" diff="$Request.url" num="20" g_key="arrGrm" /}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{chapter:info n_id="$Request.route.intNovelId" c_sort_num="$Request.route.intChapterSort"
c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="robots" content="index, follow" /> <meta name="robots" content="index, follow" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="keywords" content="{$strKeywords??''}"> <meta name="keywords" content='{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}'>
<meta name="description" content="{$strDescription??''}"> <meta name="description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}'>
<title>{$strTitle??''}</title> <title>{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}</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 rel="stylesheet" href="/template/kuangyu/reader/web/css/style.css" type="text/css"> <link rel="stylesheet" href="/template/kuangyu/reader/web/css/style.css" type="text/css">
<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}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]"/}'> href='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num"/}'>
{/block} {/block}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<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,16 +33,16 @@
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$$arrChapter[c_sort_num]"/}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrChapter.c_name}"> <meta property="og:novel:latest_chapter_name" content="{$arrChapter.c_name}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" /> <meta name="twitter:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -54,15 +60,15 @@
"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}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}', "url":'https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"genre": "{$arrNovel.n_category ??''}", "genre": "{$arrNovel.n_category ??''}",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"hasPart": { "hasPart": {
"@type": "CreativeWork", "@type": "CreativeWork",
"name": "{$arrChapter.c_name ?? ''}", "name": "{$arrChapter.c_name ?? ''}",
"url":'https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}', "url":'https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
"description": "{$strDescription}" "description": '{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}'
} }
} }
</script> </script>
@@ -106,16 +112,16 @@
</div> </div>
<div class="type-box"> <div class="type-box">
<h3><a href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="all" status="all" page="1"/}'>男生</a></h3> <h3><a href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="all" status="all" page="1"/}'>男生</a></h3>
{foreach $arrCategoryAll.man as $key=>$vo } {novel:category d_key="strCategoryPinyin" d_val="strCategoryName" n_sex="man"}
<a href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="{$key}" status="all" page="1"/}'>{$vo}</a> <a href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="{$strCategoryPinyin}" status="all" page="1"/}'>{$strCategoryName}</a>
{/foreach} {/novel:category}
</div> </div>
<div class="type-box"> <div class="type-box">
<h3><a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="all" status="all" page="1"/}'>女生</a></h3> <h3><a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="all" status="all" page="1"/}'>女生</a></h3>
{foreach $arrCategoryAll.women as $key=>$vo } {novel:category d_key="strCategoryPinyin" d_val="strCategoryName" n_sex="women"}
<a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="{$key}" status="all" page="1"/}'>{$vo}</a> <a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="{$strCategoryPinyin}" status="all" page="1"/}'>{$strCategoryName}</a>
{/foreach} {/novel:category}
</div> </div>
<div class="type-box"> <div class="type-box">
<h3><a href="{$strPcPath}{$strCategoryIndexUrlTemp}">书库</a></h3> <h3><a href="{$strPcPath}{$strCategoryIndexUrlTemp}">书库</a></h3>
@@ -168,17 +174,17 @@
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?> <?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<a <a
href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}'>{$arrNovel.n_category}</a> href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="$arrNovel.n_category_pinyin" status="all" page="1"/}'>{$arrNovel.n_category}</a>
{else} {else}
<a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="all" status="all" page="1"/}'>女生</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}{site:nflurl gender="$strNvUrlTemp" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}'>{$arrNovel.n_category}</a> <a href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="$arrNovel.n_category_pinyin" status="all" page="1"/}'>{$arrNovel.n_category}</a>
{/if} {/if}
<em class="iconfont"></em> <em class="iconfont"></em>
{$arrGrm[12]|raw} {$arrGrm[12]|raw}
<a <a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$arrNovel.n_name}</a> href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel.n_name}</a>
</div> </div>
<div class="read-main-wrap font-family01" style="font-size:18px" id="j_readMainWrap"> <div class="read-main-wrap font-family01" style="font-size:18px" id="j_readMainWrap">
<div id="j_chapterBox"> <div id="j_chapterBox">
@@ -188,17 +194,17 @@
<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='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrNovel.n_name} {$arrNovel.n_name}
</a> </a>
<a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}' <a href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}'
>{$arrChapter.c_name}</a> >{$arrChapter.c_name}</a>
</h1> </h1>
<div class="text-info cf"> <div class="text-info cf">
<div class="info fl"> <div class="info fl">
{$arrGrm[11]|raw} {$arrGrm[11]|raw}
<a <a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<em class="iconfont"></em> {$arrNovel.n_name}</a> <em class="iconfont"></em> {$arrNovel.n_name}</a>
<a href="javascript:"> <em class="iconfont"></em> {$arrNovel.n_author}</a> <a href="javascript:"> <em class="iconfont"></em> {$arrNovel.n_author}</a>
<i><em class="iconfont"></em><span class="j_chapterWordCut">2000</span></i> <i><em class="iconfont"></em><span class="j_chapterWordCut">2000</span></i>
@@ -227,13 +233,13 @@
{else} {else}
{$arrGrm[10]|raw} {$arrGrm[10]|raw}
<a id="j_chapterPrev" <a id="j_chapterPrev"
href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrPreChapter[c_sort_num]" c_page="0"/}'>上一章</a> href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="0"/}'>上一章</a>
{/if} {/if}
<span>|</span> <span>|</span>
{if $arrNextChapter && $arrNextChapter.c_sort_num} {if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
{$arrGrm[9]|raw} {$arrGrm[9]|raw}
<a id="j_chapterNext" <a id="j_chapterNext"
href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrNextChapter[c_sort_num]" c_page="0"/}'>下一章</a> href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.c_sort_num" c_page="0"/}'>下一章</a>
{/if} {/if}
</div> </div>
</div> </div>
@@ -243,7 +249,7 @@
<dl> <dl>
<dd id="j_navCatalogBtn"> <dd id="j_navCatalogBtn">
{$arrGrm[8]|raw} {$arrGrm[8]|raw}
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'> <a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>
<i><em class="iconfont"></em><span>目录</span></i> <i><em class="iconfont"></em><span>目录</span></i>
</a> </a>
</dd> </dd>
@@ -260,7 +266,7 @@
</dd> </dd>
<dd> <dd>
{$arrGrm[6]|raw} {$arrGrm[6]|raw}
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<i><em class="iconfont"></em><span>详情</span></i> <i><em class="iconfont"></em><span>详情</span></i>
</a> </a>
</dd> </dd>
@@ -395,17 +401,17 @@
}; };
book.chapter = { book.chapter = {
//页面进入加载的章节id //页面进入加载的章节id
id: '{$arrPreChapter.c_sort_num ?? 1}', id: '{$arrChapter.pre_chapter.c_sort_num ?? 1}',
//章节源id //章节源id
source_id: '{$arrPreChapter.c_sort_num ?? 1}', source_id: '{$arrChapter.pre_chapter.c_sort_num ?? 1}',
//章节vip标识 //章节vip标识
vipStatus: 0, vipStatus: 0,
//上一章id //上一章id
prevId: '{$arrPreChapter.c_sort_num ?? 1}', prevId: '{$arrChapter.pre_chapter.c_sort_num ?? 1}',
//下一章id //下一章id
nextId: '{$arrNextChapter.c_sort_num ?? 1}' nextId: '{$arrChapter.next_chapter.c_sort_num ?? 1}'
}; };
book.chapterUrl = '{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$arrChapter[c_sort_num]" c_page="0"/}' ; book.chapterUrl = '{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" 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

@@ -1,13 +1,19 @@
{extend name="basePc" /} {extend name="basePc" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og: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}" />
@@ -15,16 +21,16 @@
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content="'{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -44,7 +50,7 @@
}, },
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}", "image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}', "url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}", "genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook", "bookFormat": "https://{$DomainModel->d_domain}/EBook",
@@ -58,10 +64,12 @@
</script> </script>
{/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[n_name_pinyin]" /}'> href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block} {/block}
{block name="logo-html"} {block name="logo-html"}
<h2> <h2>
<a href="{$strPcPath}/"> <a href="{$strPcPath}/">
@@ -69,6 +77,7 @@
</a> </a>
</h2> </h2>
{/block} {/block}
{block name="main"} {block name="main"}
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?> <?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<div class="content"> <div class="content">
@@ -81,14 +90,14 @@
<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}{site:nflurl gender="all" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}' <a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}'
itemprop="item"> itemprop="item">
<span itemprop="name">{$arrNovel.n_category}</span> <span itemprop="name">{$arrNovel.n_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[n_name_pinyin]" /}' <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
itemprop="item"> itemprop="item">
<span itemprop="name">{$arrNovel['n_name']}</span> <span itemprop="name">{$arrNovel['n_name']}</span>
</a> </a>
@@ -102,7 +111,7 @@
<div class="info"> <div class="info">
<div class="info_box"> <div class="info_box">
<div class="info_L"> <div class="info_L">
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
title="{$arrNovel['n_name']}" class="book_cov"> title="{$arrNovel['n_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['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节"
@@ -120,7 +129,7 @@
<div class="info_C book_inf"> <div class="info_C book_inf">
<div class="c01"> <div class="c01">
<h2><a <h2><a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$arrNovel['n_name']}</a> href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel['n_name']}</a>
</h2> </h2>
<!-- <span id="mod_book_star">0分</span> --> <!-- <span id="mod_book_star">0分</span> -->
</div> </div>
@@ -141,18 +150,16 @@
<p class="jianjie">最新要点</p> <p class="jianjie">最新要点</p>
<div class="c03_box"> <div class="c03_box">
<p class="jj_con" id="book_desc2"> <p class="jj_con" id="book_desc2">
{$strFocus}</p> {$arrNovel.strFocus}</p>
<span class="zk_btn">展开<s></s></span> <span class="zk_btn">展开<s></s></span>
<span class="sq_btn" style="display: none;">收起<s></s></span> <span class="sq_btn" style="display: none;">收起<s></s></span>
</div> </div>
</div> </div>
<div class="c04"> <div class="c04">
{if !empty($arrChapter)} <a href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'
<a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'
class="read">立即阅读</a> class="read">立即阅读</a>
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}' <a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
class="mulu">目录</a> class="mulu">目录</a>
{/if}
</div> </div>
<!-- <div class="c05"> <!-- <div class="c05">
<p class="c05_t">作品标签: <p class="c05_t">作品标签:
@@ -167,16 +174,16 @@
<div class="inf02"> <div class="inf02">
<h4>小说信息</h4> <h4>小说信息</h4>
<p>类别: <p>类别:
<a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel[n_category_pinyin]" status="all" page="1"/}' <a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}'
title="{$arrNovel.n_category}"> title="{$arrNovel.n_category}">
{$arrNovel.n_category} {$arrNovel.n_category}
</a> </a>
</p> </p>
<!-- <p>总字数54.20万+</p> --> <!-- <p>总字数54.20万+</p> -->
<p>总点击量:{$arrNovelClicks.total}</p> <p>总点击量:{$arrNovel.arrNovelClicks.total}</p>
<p>月点击量:{$arrNovelClicks.monthly}</p> <p>月点击量:{$arrNovel.arrNovelClicks.monthly}</p>
<p>周点击量:{$arrNovelClicks.weekly}</p> <p>周点击量:{$arrNovel.arrNovelClicks.weekly}</p>
<p>日点击量:{$arrNovelClicks.daily}</p> <p>日点击量:{$arrNovel.arrNovelClicks.daily}</p>
<!-- <p>收藏0</p> --> <!-- <p>收藏0</p> -->
</div> </div>
@@ -190,16 +197,16 @@
<h2>最新章节</h2> <h2>最新章节</h2>
</div> </div>
<div class="zj_con"> <div class="zj_con">
{volist name="arrChapter" id="Chapter" key="key"} {chapter:list count="12" sort_type="dao" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter" cache_life="86400"}
<p> <p>
{$arrGrm[$key]|raw} {$arrGrm[$key]|raw}
<a href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$Chapter[c_sort_num]" c_page="0"/}' <a href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
title="{$arrNovel.n_name}-{$Chapter.c_name}" class="zj">{$Chapter.c_name}</a> title="{$arrNovel.n_name}-{$Chapter.c_name}" class="zj">{$Chapter.c_name}</a>
<span class="time">{$Chapter.created_at ?? '1天前'}</span> <span class="time">{$Chapter.created_at ?? '1天前'}</span>
<!-- <span class="time">3天前</span>--> <!-- <span class="time">3天前</span>-->
</p> </p>
<p class="zw" style="max-height: 98px; overflow: hidden;"></p> <p class="zw" style="max-height: 98px; overflow: hidden;"></p>
{/volist} {/chapter:list}
</div> </div>
</div> </div>
<div class="pl_tit"> <div class="pl_tit">
@@ -208,7 +215,7 @@
<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 } {$arrGrm[$key+20]|raw} {/if} <a {if $key<20 } {$arrGrm[$key+20]|raw} {/if} <a
href='{$strPcPath}{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}' href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
class="red">{$ForgeNovel.n_forge_title}</a> class="red">{$ForgeNovel.n_forge_title}</a>
{/volist} {/volist}
@@ -219,17 +226,17 @@
<div class="fsph"> <div class="fsph">
<h4><s></s>精品推荐</h4> <h4><s></s>精品推荐</h4>
<ul class="info2_C"> <ul class="info2_C">
{volist name="arrRelateveNovel" id="Novel" key="key"} {novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="key" d_val="Novel" p_val="page_data" cache_life="86400"}
<li> <li>
<h3> <h3>
{$arrGrm[$key+10]|raw} {$arrGrm[$key+10]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}' <a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
title="{$Novel['n_name'] ?? ''}"> title="{$Novel['n_name'] ?? ''}">
{$Novel['n_name'] ?? ''} {$Novel['n_name'] ?? ''}
</a> </a>
</h3> </h3>
<div> <div>
<a href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}' <a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
title="$Novel['n_name'] ?? ''}" class="book_cov"> title="$Novel['n_name'] ?? ''}" class="book_cov">
<img src="/template/kuangyu/home/bai_web/images/default.png" <img src="/template/kuangyu/home/bai_web/images/default.png"
data-src="{$Novel['n_cover_path'] ?? ''}" class="lazyload_book_cover lazyload-img" data-src="{$Novel['n_cover_path'] ?? ''}" class="lazyload_book_cover lazyload-img"
@@ -243,7 +250,7 @@
</div> </div>
</div> </div>
</li> </li>
{/volist} {/novel:list}
</ul> </ul>
</div> </div>
</div> </div>

View File

@@ -1,26 +1,29 @@
{extend name="basePc" /} {extend name="basePc" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content={site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"} />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$strSearchKeywords' p='1'/}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' 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}">
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{$strSearchKeywords} - {$DomainModel->d_name}搜索 - 第{$intPage}页"> <meta name="twitter:title" content="{$Request.get.keyword} - {$DomainModel->d_name}搜索 - 第{$Request.get.intPage}页">
<meta name="twitter:description" content="{$strSearchKeywords}搜索结果第{$intPage}页,免费阅读小说,快来体验!"> <meta name="twitter:description" content="{$Request.get.keyword}搜索结果第{$Request.get.intPage}页,免费阅读小说,快来体验!">
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "SearchResultsPage", "@type": "SearchResultsPage",
"url": "https://{$DomainModel->d_name}{site:souurl key='$strSearchKeywords' p='1'/}", "url": "https://{$DomainModel->d_name}{site:souurl key='$Request.get.keyword' p='1'/}",
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$intPage}页", "name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$Request.get.intPage}页",
"description": "搜索‘{$strSearchKeywords}’结果第{$intPage}页,提供{$strSearchKeywords}创作的小说免费阅读。", "description": "搜索‘{$Request.get.keyword}’结果第{$Request.get.intPage}页,提供{$Request.get.keyword}创作的小说免费阅读。",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"mainEntity": { "mainEntity": {
"@type": "Book", "@type": "Book",
@@ -34,6 +37,7 @@
} }
</script> </script>
{/block} {/block}
{block name="head-js"}{/block} {block name="head-js"}{/block}
{block name="logo-html"} {block name="logo-html"}
@@ -45,24 +49,33 @@
{/block} {/block}
{block name="main"} {block name="main"}
{novel:pagerexp page="$Request.get.page" limit="30"
key="$Request.get.keyword"
d_key="d_key"
d_val="Novel" n_num="total"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
{site:grm page_code="pc_novel_search" diff="$Request.url" num="30" g_key="arrGrm" /}
<div class="content"> <div class="content">
<div class="find"> <div class="find">
<div class="fi_t"> <div class="fi_t">
<h1>{$strSearchKeywords}搜索结果 - {$DomainModel->d_name} 第{$intPage}页</h1> <h1>{$Request.get.keyword}搜索结果 - {$DomainModel->d_name} 第{$Request.get.page}页</h1>
<div class="result search_tip"> <div class="result search_tip">
搜索<span style="color:red">“{$strSearchKeywords}”</span>相关结果共有 <span style="color:red">{$arrPage.total}</span> 部小说 搜索<span style="color:red">“{$Request.get.keyword}”</span>相关结果共有 <span style="color:red">{$resData.p_data.total}</span> 部小说
</div> </div>
</div> </div>
</div> </div>
<div class="result" mod="search_data_list"> <div class="result" mod="search_data_list">
{if empty($arrPage.data)} {if empty($resData.data)}
<p style="text-align: center;line-height: 60px">没有相关数据</p> <p style="text-align: center;line-height: 60px">没有相关数据</p>
{else} {else}
<ul> <ul>
{foreach $arrPage.data as $key=>$Novel} {foreach $resData.data as $key=>$Novel}
{include file="pc/public/shukuNovelList" start="0"/} {include file="pc/public/shukuNovelList" start="0"/}
{/foreach} {/foreach}
</ul> </ul>
@@ -70,17 +83,17 @@
<!--页码切换 开始--> <!--页码切换 开始-->
<div class="changepage"> <div class="changepage">
<ul class="pagination"> <ul class="pagination">
{volist name="arrPaginator" id="vo" key="k"} {volist name="resData.p_data.pager" id="vo" key="k"}
{switch $vo.label} {switch $vo.label}
{case value="上一页"} {case value="上一页"}
{if $intPage == 1} {if $resData.p_data.page == 1}
<li class="disabled"><span>«</span></li> <li class="disabled"><span>«</span></li>
{else} {else}
<li><a href="{$strPcPath}{$vo.url}">«</a></li> <li><a href="{$strPcPath}{$vo.url}">«</a></li>
{/if} {/if}
{/case} {/case}
{case value="下一页"} {case value="下一页"}
{if $intPage >= $intTotalPage} {if $resData.p_data.page >= $resData.p_data.total}
<li class="disabled"><span>»</span></li> <li class="disabled"><span>»</span></li>
{else} {else}
<li><a href='{$strPcPath}{$vo.url}'>»</a></li> <li><a href='{$strPcPath}{$vo.url}'>»</a></li>
@@ -91,7 +104,7 @@
{/case} {/case}
{default /} {default /}
{if preg_match('/^\d+$/', $vo.label)} {if preg_match('/^\d+$/', $vo.label)}
<li class='{eq name="vo.label" value="$intPage"}active {/eq}'> <li class='{eq name="vo.label" value="$resData.p_data.page"}active {/eq}'>
<a href="{$strPcPath}{$vo.url}">{$vo.label}</a> <a href="{$strPcPath}{$vo.url}">{$vo.label}</a>
</li> </li>
{/if} {/if}

View File

@@ -1,6 +1,6 @@
{if !empty($arrPaginator)} {if !empty($resData.p_data.pager)}
<div class="page_num"> <div class="page_num">
{volist name="arrPaginator" id="item"} {volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="prev"} {eq name="item.type" value="prev"}
<a href="{$item.url ?: '#'}" <a href="{$item.url ?: '#'}"
class="z {$item.disabled ? 'disabled' : ''}"> class="z {$item.disabled ? 'disabled' : ''}">
@@ -10,8 +10,9 @@
{/volist} {/volist}
<select onchange="self.location.href=options[selectedIndex].value"> <select onchange="self.location.href=options[selectedIndex].value">
{volist name="arrPaginator" id="item"} {volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="page"} {eq name="item.type" value="page"}
<?php $intLimit = $resData['p_data']['limit']; ?>
<?php $start = ($item['label'] - 1) * $intLimit + 1; ?> <?php $start = ($item['label'] - 1) * $intLimit + 1; ?>
<?php $end = $item['label'] * $intLimit; ?> <?php $end = $item['label'] * $intLimit; ?>
<option value="{$item.url}" {$item.current ? 'selected' : ''}> <option value="{$item.url}" {$item.current ? 'selected' : ''}>
@@ -21,7 +22,7 @@
{/volist} {/volist}
</select> </select>
{volist name="arrPaginator" id="item"} {volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="next"} {eq name="item.type" value="next"}
<a href="{$item.url ?: '#'}" <a href="{$item.url ?: '#'}"
class="y {$item.disabled ? 'disabled' : ''}"> class="y {$item.disabled ? 'disabled' : ''}">

View File

@@ -1,11 +1,13 @@
{extend name="basePcUser" /} {extend name="basePcUser" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}我的书架{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}我的书架{/block}
{block name="description"}我的书架{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="我的书架" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="我的书架" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
@@ -13,8 +15,8 @@
{ {
"@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}", "@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "我的书架",
"description": "{$strDescription??''}", "description": "我的书架",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>
@@ -22,6 +24,7 @@
{block name="main"} {block name="main"}
{site:grm page_code="pc_bookshekf" diff="0" num="10" g_key="arrGrm" /}
{$arrGrm[0]|raw} {$arrGrm[0]|raw}
<div class="i-right"> <div class="i-right">
<!--我的书架 mod --> <!--我的书架 mod -->
@@ -56,9 +59,9 @@
</div> </div>
{$arrGrm[2]|raw} {$arrGrm[2]|raw}
<script> <script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`; const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`; const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`; const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
displayBookshelf() displayBookshelf()

View File

@@ -1,11 +1,11 @@
{extend name="basePcUser" /} {extend name="basePcUser" /}
{block name="title"}{$strTitle??''}{/block} {block name="title"}我的阅读记录{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="keywords"}我的阅读记录{/block}
{block name="description"}{$strDescription??''}{/block} {block name="description"}我的阅读记录{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="我的阅读记录" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="我的阅读记录" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strHistoryUrlTemp}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strHistoryUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
@@ -13,8 +13,8 @@
{ {
"@context": "https://{$DomainModel->d_domain}{$strHistoryUrlTemp}", "@context": "https://{$DomainModel->d_domain}{$strHistoryUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "我的阅读记录",
"description": "{$strDescription??''}", "description": "我的阅读记录",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>
@@ -22,6 +22,7 @@
{block name="main"} {block name="main"}
{site:grm page_code="pc_history" diff="0" num="10" g_key="arrGrm" /}
{$arrGrm[0]|raw} {$arrGrm[0]|raw}
<div class="i-right"> <div class="i-right">
<div class="i-title" style="padding-left:30px;"> <div class="i-title" style="padding-left:30px;">
@@ -54,9 +55,9 @@
</div> </div>
{$arrGrm[3]|raw} {$arrGrm[3]|raw}
<script> <script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`; const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`; const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`; const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
displayHistory() displayHistory()

View File

@@ -1,11 +1,13 @@
{extend name="basePcUser" /} {extend name="basePcUser" /}
{block name="title"}{$strTitle??''}{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="title"}个人中心{/block}
{block name="description"}{$strDescription??''}{/block} {block name="keywords"}个人中心{/block}
{block name="description"}个人中心{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="个人中心" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="个人中心" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strUserUrlTemp}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strUserUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
@@ -13,8 +15,8 @@
{ {
"@context": "https://{$DomainModel->d_domain}{$strUserUrlTemp}", "@context": "https://{$DomainModel->d_domain}{$strUserUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "个人中心",
"description": "{$strDescription??''}", "description": "个人中心",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>
@@ -22,6 +24,9 @@
{block name="main"} {block name="main"}
{site:grm page_code="userinfo" diff="0" num="100" g_key="arrGrm" /}
<div class="i-right"> <div class="i-right">
<!--bot mod --> <!--bot mod -->
<div class="i-bot"> <div class="i-bot">
@@ -57,9 +62,9 @@
</div> </div>
<div class="tabBd"> <div class="tabBd">
<ul class="hotBookBd "> <ul class="hotBookBd ">
{volist name="arrMoonRankNovel" id="Novel" key="key"} {novel:list count="10" sort_type="news" d_key="key" d_val="Novel" cache_life="86400"}
{include file="pc/public/endNovelList" start="0"/} {include file="pc/public/endNovelList" start="0"/}
{/volist} {/novel:list}
</ul> </ul>
@@ -73,10 +78,10 @@
<div class="myWorks myLike"> <div class="myWorks myLike">
<div class="i-title">推荐作品</div> <div class="i-title">推荐作品</div>
<ul> <ul>
{volist name="arrRecommendEndNovel" id="Novel" key="key"} {novel:list count="10" sort_type="tuijian" d_key="key" d_val="Novel" cache_life="86400"}
{$arrGrm[$key]|raw} {$arrGrm[$key]|raw}
<li> <li>
<a href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]"/}' <a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin"/}'
title="{$Novel.n_name ?? ''}"> title="{$Novel.n_name ?? ''}">
<img src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''}"> <img src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''}">
</a> </a>
@@ -84,14 +89,14 @@
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'> <a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
<span class="bookName other">{$Novel.n_name ?? ''}</span> <span class="bookName other">{$Novel.n_name ?? ''}</span>
</a> </a>
<a href='{$strPcPath}{site:souurl key="$Novel[n_author]" p="1"/}'> <a href='{$strPcPath}{site:souurl key="$Novel.n_author" p="1"/}'>
<span class="bookStatus other">{$Novel->n_author ?? ''}</span> <span class="bookStatus other">{$Novel->n_author ?? ''}</span>
</a> </a>
<span class="bookBrief"> <span class="bookBrief">
{$Novel.n_description ?? ''}</span> {$Novel.n_description ?? ''}</span>
</p> </p>
</li> </li>
{/volist} {/novel:list}
</ul> </ul>
</div> </div>
@@ -100,9 +105,9 @@
</div> </div>
<script> <script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`; const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`; const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`; const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
@@ -112,9 +117,10 @@
// 展示 书架 // 展示 书架
function displayBookshelfInUser() { function displayBookshelfInUser() {
const strBookshelfKey = window.location.hostname + 'strBookshelfKey';
// 获取书架数据 // 获取书架数据
const arrBookshelf = JSON.parse(localStorage.getItem('strBookshelfKey')) || []; const arrBookshelf = JSON.parse(localStorage.getItem(strBookshelfKey)) || [];
console.log(arrBookshelf)
if (arrBookshelf.length === 0) { if (arrBookshelf.length === 0) {
console.log('书架为空'); console.log('书架为空');
@@ -188,18 +194,18 @@
}); });
} }
// 展示 书架 // 展示 最近阅读
function displayHistoryInUser() { function displayHistoryInUser() {
const strHistoryKey = window.location.hostname + 'strHistoryKey';
// 获取书架数据 // 获取最近阅读数据
const arrBookshelf = JSON.parse(localStorage.getItem('strHistoryKey')) || []; const arrBookshelf = JSON.parse(localStorage.getItem(strHistoryKey)) || [];
if (arrBookshelf.length === 0) { if (arrBookshelf.length === 0) {
console.log('书架为空'); console.log('书架为空');
return; return;
} }
// 渲染书籍列表 // 渲染最近阅读列表
const DomBookshelfContainer = document.getElementById('history-ul'); const DomBookshelfContainer = document.getElementById('history-ul');
DomBookshelfContainer.innerHTML = '' DomBookshelfContainer.innerHTML = ''
arrBookshelf.forEach(book => { arrBookshelf.forEach(book => {

View File

@@ -1,6 +1,6 @@
{if !empty($arrPaginator)} {if !empty($resData.p_data.pager)}
<div class="page_num"> <div class="page_num">
{volist name="arrPaginator" id="item"} {volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="prev"} {eq name="item.type" value="prev"}
{$arrGrm[$key]|raw} {$arrGrm[$key]|raw}
<a href="{$item.url ?: '#'}" <a href="{$item.url ?: '#'}"
@@ -11,8 +11,9 @@
{/volist} {/volist}
<select onchange="self.location.href=options[selectedIndex].value"> <select onchange="self.location.href=options[selectedIndex].value">
{volist name="arrPaginator" id="item"} {volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="page"} {eq name="item.type" value="page"}
<?php $intLimit = $resData['p_data']['limit']; ?>
<?php $start = ($item['label'] - 1) * $intLimit + 1; ?> <?php $start = ($item['label'] - 1) * $intLimit + 1; ?>
<?php $end = $item['label'] * $intLimit; ?> <?php $end = $item['label'] * $intLimit; ?>
<option value="{$item.url}" {$item.current ? 'selected' : ''}> <option value="{$item.url}" {$item.current ? 'selected' : ''}>
@@ -22,7 +23,7 @@
{/volist} {/volist}
</select> </select>
{volist name="arrPaginator" id="item"} {volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="next"} {eq name="item.type" value="next"}
{$arrGrm[$key]|raw} {$arrGrm[$key]|raw}
<a href="{$item.url ?: '#'}" <a href="{$item.url ?: '#'}"

View File

@@ -1,11 +1,11 @@
{extend name="baseH5User" /} {extend name="baseH5User" /}
{block name="title"}{$strTitle??''}{/block} {block name="title"}我的书架{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="keywords"}我的书架{/block}
{block name="description"}{$strDescription??''}{/block} {block name="description"}我的书架{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="我的书架" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="我的书架" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
@@ -13,8 +13,8 @@
{ {
"@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}", "@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "我的书架",
"description": "{$strDescription??''}", "description": "我的书架",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>
@@ -22,6 +22,8 @@
{block name="head-name"}我的书架{/block} {block name="head-name"}我的书架{/block}
{block name="main"} {block name="main"}
{site:grm page_code="h5_bookshekf" diff="0" num="10" g_key="arrGrm" /}
{$arrGrm[0]|raw} {$arrGrm[0]|raw}
<div class="app_body"> <div class="app_body">
{$arrGrm[3]|raw} {$arrGrm[3]|raw}
@@ -42,9 +44,9 @@
</div> </div>
</div> </div>
<script> <script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`; const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`; const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`; const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
displayBookshelf() displayBookshelf()

View File

@@ -1,11 +1,11 @@
{extend name="baseH5User" /} {extend name="baseH5User" /}
{block name="title"}{$strTitle??''}{/block} {block name="title"}我的阅读记录{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="keywords"}我的阅读记录{/block}
{block name="description"}{$strDescription??''}{/block} {block name="description"}我的阅读记录{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="我的阅读记录" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="我的阅读记录" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strHistoryUrlTemp}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strHistoryUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
@@ -13,8 +13,8 @@
{ {
"@context": "https://{$DomainModel->d_domain}{$strHistoryUrlTemp}", "@context": "https://{$DomainModel->d_domain}{$strHistoryUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "我的阅读记录",
"description": "{$strDescription??''}", "description": "我的阅读记录",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>
@@ -22,6 +22,9 @@
{block name="head-name"}最近阅读{/block} {block name="head-name"}最近阅读{/block}
{block name="main"} {block name="main"}
{site:grm page_code="h5_history" diff="0" num="10" g_key="arrGrm" /}
{$arrGrm[0]|raw} {$arrGrm[0]|raw}
<div class="app_body"> <div class="app_body">
{$arrGrm[1]|raw} {$arrGrm[1]|raw}
@@ -44,9 +47,9 @@
</div> </div>
<script> <script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`; const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`; const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`; const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
displayHistory() displayHistory()

View File

@@ -1,11 +1,11 @@
{extend name="baseH5User" /} {extend name="baseH5User" /}
{block name="title"}{$strTitle??''}{/block} {block name="title"}个人中心{/block}
{block name="keywords"}{$strKeywords??''}{/block} {block name="keywords"}个人中心{/block}
{block name="description"}{$strDescription??''}{/block} {block name="description"}个人中心{/block}
{block name="head"} {block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" /> <meta property="og:title" content="个人中心" />
<meta property="og:description" content="{$strDescription??''}" /> <meta property="og:description" content="个人中心" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strUserUrlTemp}" /> <meta property="og:url" content="https://{$DomainModel->d_domain}{$strUserUrlTemp}" />
<meta property="og:type" content="article" /> <meta property="og:type" content="article" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
@@ -13,8 +13,8 @@
{ {
"@context": "https://{$DomainModel->d_domain}{$strUserUrlTemp}", "@context": "https://{$DomainModel->d_domain}{$strUserUrlTemp}",
"@type": "article", "@type": "article",
"headline": "{$strTitle??''}", "headline": "个人中心",
"description": "{$strDescription??''}", "description": "个人中心",
"datePublished": "{:date('Y-m-d')}" "datePublished": "{:date('Y-m-d')}"
} }
</script> </script>
@@ -58,7 +58,6 @@
<a href="{$strHistoryUrlTemp}"><i class="iconfont"></i>最近阅读</a> <a href="{$strHistoryUrlTemp}"><i class="iconfont"></i>最近阅读</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@@ -113,7 +113,7 @@ class NovelService
* @param integer $intChapterPage * @param integer $intChapterPage
* @return string * @return string
*/ */
public function getNovelChapterUrl(int $intNId, $intPinYin, $intChapterSort, $intChapterPage = 1): string public function getNovelChapterUrl(int $intNId, $intPinYin, $intChapterSort, $intChapterPage = 0): string
{ {
$strKey = 'CONTENT_INFO_URL'; $strKey = 'CONTENT_INFO_URL';
$strUrl = $this->getPageUrl($strKey, [ $strUrl = $this->getPageUrl($strKey, [

View File

@@ -133,7 +133,7 @@ EOD;
$intNId = isset($tag['n_id']) ? $tag['n_id'] : ''; $intNId = isset($tag['n_id']) ? $tag['n_id'] : '';
$strNPy = isset($tag['n_py']) ? $tag['n_py'] : ''; $strNPy = isset($tag['n_py']) ? $tag['n_py'] : '';
$intChapterSort = isset($tag['c_sort']) ? $tag['c_sort'] : ''; $intChapterSort = isset($tag['c_sort']) ? $tag['c_sort'] : '';
$intChapterPage = isset($tag['c_page']) ? $tag['c_page'] : ''; $intChapterPage = isset($tag['c_page']) ? $tag['c_page'] : 0;
$intNId = $this->customBuildVar($intNId); $intNId = $this->customBuildVar($intNId);
$strNPy = $this->customBuildVar($strNPy); $strNPy = $this->customBuildVar($strNPy);

View File

@@ -151,6 +151,7 @@ function incShouCangFun(intId) {
} }
const strBookshelfKey = window.location.hostname + 'strBookshelfKey'; const strBookshelfKey = window.location.hostname + 'strBookshelfKey';
const strHistoryKey = window.location.hostname + 'strHistoryKey';
// 加入书架 addShuJiaFun // 加入书架 addShuJiaFun
function addBookshelfFun(NovelInfo) { function addBookshelfFun(NovelInfo) {
@@ -233,13 +234,13 @@ function displayBookshelf() {
<img class="lazyload-img" src="${book.n_cover_path}" > <img class="lazyload-img" src="${book.n_cover_path}" >
</div> </div>
<div class="rightBlock"> <div class="rightBlock">
<span class="rightBlock_title">${book.n_namen}</span> <span class="rightBlock_title">${book.n_name}</span>
<span class="rightBlock_name">${book.n_author}</span> <span class="rightBlock_name">${book.n_author}</span>
<span class="rightBlock_con rightBlock_con2"> <span class="rightBlock_con rightBlock_con2">
<span class="con"> <span class="con">
<span class="spanLi">${book.c_name}</span> <span class="spanLi">${book.c_name}</span>
</span> </span>
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span> <span class="spanLi Time">${book.n_update_time ?? ''}</span>
<span class="rightJustTime" onclick="javascript:window.location.href='${strNovelChapterUrl}';return false;"> <span class="rightJustTime" onclick="javascript:window.location.href='${strNovelChapterUrl}';return false;">
继续阅读 继续阅读
</span> </span>
@@ -260,7 +261,7 @@ function displayBookshelf() {
</a> </a>
</td> </td>
<td class="t2"> <td class="t2">
<a href="${strPcPath}${strNovelUrl}" >${book.n_namen}</a> <a href="${strPcPath}${strNovelUrl}" >${book.n_name}</a>
</td> </td>
<td class="t3"> <td class="t3">
<a href="${strPcPath}${strNovelChapterUrl}" >${book.c_name}</a> <a href="${strPcPath}${strNovelChapterUrl}" >${book.c_name}</a>
@@ -268,9 +269,9 @@ function displayBookshelf() {
<td class="t4"> <td class="t4">
<a href="${strPcPath}${strSearchUrl}" >${book.n_author}</a> <a href="${strPcPath}${strSearchUrl}" >${book.n_author}</a>
</td> </td>
<td class="t5">${book.og_novel_update_time}</td> <td class="t5">${book.n_update_time}</td>
<td class="t6">${book.og_novel_status}</td> <td class="t6">${book.n_status}</td>
<td class="t7"> <td class="t7">
<a href="${strPcPath}${strNovelChapterUrl}" class="goon" >阅读</a> <a href="${strPcPath}${strNovelChapterUrl}" class="goon" >阅读</a>
<i><span class="Collection" ajax-get="" onclick="delBookshelfFun(${book.n_id})">删除</span></i> <i><span class="Collection" ajax-get="" onclick="delBookshelfFun(${book.n_id})">删除</span></i>
@@ -292,7 +293,7 @@ function addHistoryFun(NovelInfo) {
} }
// 获取本地存储中的历史记录 // 获取本地存储中的历史记录
let arrBookshelf = JSON.parse(localStorage.getItem('strHistoryKey')) || []; let arrBookshelf = JSON.parse(localStorage.getItem(strHistoryKey)) || [];
// 检查书籍是否已存在 // 检查书籍是否已存在
const index = arrBookshelf.findIndex(item => item.n_id == NovelInfo.n_id); const index = arrBookshelf.findIndex(item => item.n_id == NovelInfo.n_id);
@@ -305,13 +306,13 @@ function addHistoryFun(NovelInfo) {
} }
// 更新本地存储 // 更新本地存储
localStorage.setItem('strHistoryKey', JSON.stringify(arrBookshelf)); localStorage.setItem(strHistoryKey, JSON.stringify(arrBookshelf));
} }
// 删除历史记录 // 删除历史记录
function delHistoryFun(intNId) { function delHistoryFun(intNId) {
// 获取书架数据 // 获取书架数据
const arrHistory = JSON.parse(localStorage.getItem('strHistoryKey')) || []; const arrHistory = JSON.parse(localStorage.getItem(strHistoryKey)) || [];
// 检查 arrHistory 是否为数组且不为空 // 检查 arrHistory 是否为数组且不为空
if (Array.isArray(arrHistory) && arrHistory.length > 0) { if (Array.isArray(arrHistory) && arrHistory.length > 0) {
@@ -322,7 +323,7 @@ function delHistoryFun(intNId) {
if (index !== -1) { if (index !== -1) {
arrHistory.splice(index, 1); // 删除该项 arrHistory.splice(index, 1); // 删除该项
// 更新 localStorage // 更新 localStorage
localStorage.setItem('strHistoryKey', JSON.stringify(arrHistory)); localStorage.setItem(strHistoryKey, JSON.stringify(arrHistory));
} else { } else {
console.log(`未找到 ID 为 ${intNId} 的历史记录`); console.log(`未找到 ID 为 ${intNId} 的历史记录`);
} }
@@ -330,7 +331,6 @@ function delHistoryFun(intNId) {
console.log('历史记录为空,无需删除'); console.log('历史记录为空,无需删除');
} }
removeElementsByClass('book-history') removeElementsByClass('book-history')
// localStorage.setItem('strHistoryKey', JSON.stringify(arrHistory));
displayHistory() displayHistory()
} }
@@ -338,7 +338,7 @@ function delHistoryFun(intNId) {
function displayHistory() { function displayHistory() {
// 获取书架数据 // 获取书架数据
const arrHistory = JSON.parse(localStorage.getItem('strHistoryKey')) || []; const arrHistory = JSON.parse(localStorage.getItem(strHistoryKey)) || [];
if (arrHistory.length === 0) { if (arrHistory.length === 0) {
console.log('书架为空'); console.log('书架为空');
@@ -362,13 +362,13 @@ function displayHistory() {
<img class="lazyload-img" src="${book.n_cover_path}" > <img class="lazyload-img" src="${book.n_cover_path}" >
</div> </div>
<div class="rightBlock"> <div class="rightBlock">
<span class="rightBlock_title">${book.n_namen}</span> <span class="rightBlock_title">${book.n_name}</span>
<span class="rightBlock_name">${book.n_author}</span> <span class="rightBlock_name">${book.n_author}</span>
<span class="rightBlock_con rightBlock_con2"> <span class="rightBlock_con rightBlock_con2">
<span class="con"> <span class="con">
<span class="spanLi">${book.c_name}</span> <span class="spanLi">${book.c_name}</span>
</span> </span>
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span> <span class="spanLi Time">${book.n_update_time ?? ''}</span>
<span class="rightJustTime" onclick="javascript:window.location.href='${strNovelChapterUrl}';return false;" <span class="rightJustTime" onclick="javascript:window.location.href='${strNovelChapterUrl}';return false;"
>继续阅读</span> >继续阅读</span>
</span> </span>
@@ -395,9 +395,9 @@ function displayHistory() {
<td class="t4"> <td class="t4">
<a href="${strPcPath}${strSearchUrl}" >${book.n_author}</a> <a href="${strPcPath}${strSearchUrl}" >${book.n_author}</a>
</td> </td>
<td class="t5">${book.og_novel_update_time ?? ''}</td> <td class="t5">${book.n_update_time ?? ''}</td>
<td class="t6">${book.og_novel_status}</td> <td class="t6">${book.n_status}</td>
<td class="t7"> <td class="t7">
<a href="${strNovelChapterUrl}" class="goon" >阅读</a> <a href="${strNovelChapterUrl}" class="goon" >阅读</a>
<i><span class="Collection" ajax-get="" onclick="delHistoryFun(${book.n_id})">删除</span></i> <i><span class="Collection" ajax-get="" onclick="delHistoryFun(${book.n_id})">删除</span></i>