小说页面重复率优化 降低重复率
This commit is contained in:
321
code/app/home/view/default/novel/getKanNovelInfo.html
Normal file
321
code/app/home/view/default/novel/getKanNovelInfo.html
Normal file
@@ -0,0 +1,321 @@
|
||||
$Novel.n_id{extend name="baseH5" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="head"}
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
|
||||
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
|
||||
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
|
||||
<meta property="og:novel:read_url"
|
||||
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
|
||||
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Book",
|
||||
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
|
||||
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "{$arrNovel['n_author'] ??'佚名'}"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
"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",
|
||||
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "4.5",
|
||||
"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>
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head-js"}
|
||||
{/block}
|
||||
|
||||
{block name="body-class"}novel_info{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2 class="bookname">
|
||||
<a href="/" style="color:#ffffff">{$DomainModel->d_name}</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
{block name="nav-html"}
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<h4 class="site-description ">{$DomainModel->d_index_description}</h4>
|
||||
{/if}
|
||||
|
||||
<div class="block-box">
|
||||
<div class="book-main">
|
||||
<div class="book-img">
|
||||
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img">
|
||||
</div>
|
||||
<div class="book-info">
|
||||
<div class="bookname">
|
||||
<h2>{$arrNovel.n_name}</h2><span class="author">{$arrNovel.n_author}
|
||||
著</span>
|
||||
</div>
|
||||
<p class="tag"><span class="blue">{$arrNovel.n_category}</span><span
|
||||
class="green">{$arrNovel.n_status}</span>
|
||||
</p>
|
||||
<p class="update"><span>最近更新:</span><a href='{site:lcpurl n_id="$arrNovel.n_id"
|
||||
n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel.n_latest_chapter_name ?? ""}</a></p>
|
||||
<p class="time"><span>更新时间:</span>{$arrNovel.n_update_time} </p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<div class="book-detail-btn">
|
||||
<ul class="btn-group">
|
||||
<li class="btn-group-cell"><a class="btn-normal abt1" onclick="addBookshelfFun()">加入书架</a><a
|
||||
class="btn-normal abt2"
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a><a
|
||||
class="btn-normal abt3"
|
||||
href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
|
||||
{$arrNovel.n_description}
|
||||
</div>
|
||||
|
||||
<h3 class="wrap-title">最新章节</h3>
|
||||
<div class="block-box">
|
||||
<ul class="chapter-list">
|
||||
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="3600"}
|
||||
<li>
|
||||
{if !empty($arrGrm[$d_key])}
|
||||
{$arrGrm[$d_key]|raw}
|
||||
{/if}
|
||||
<a
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn-mulu">查看更多章节...</a>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<h3 class="wrap-title">章节列表</h3>
|
||||
<div class="block-box">
|
||||
<ul class="chapter-list">
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter"
|
||||
cache_life="3600"}
|
||||
<li>
|
||||
{if !empty($arrGrm[$d_key+10])}
|
||||
{$arrGrm[$d_key+10]|raw}
|
||||
{/if}
|
||||
|
||||
<a
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn-mulu">查看更多章节...</a>
|
||||
</div>
|
||||
|
||||
<div class="wrap-box">
|
||||
<h3 class="wrap-title"><span>完结推荐</span></h3>
|
||||
<div class="rec-focus">
|
||||
{novel:list count="36" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel"
|
||||
p_val="page_data" cache_life="3600"}
|
||||
<dl class="rec-focus-book">
|
||||
<dt class="book-img">
|
||||
{if !empty($arrGrm[$d_key+110])}
|
||||
{$arrGrm[$d_key+110]|raw}
|
||||
{/if}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'><img height="100"
|
||||
width="80" class="lazyload-img" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a>
|
||||
</dt>
|
||||
<dd class="book-info">
|
||||
<h2><a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
</h2>
|
||||
<p>作者:{$Novel.n_author}</p>
|
||||
<p>{$Novel.n_description}</p>
|
||||
</dd>
|
||||
</dl>
|
||||
{/novel:list}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wrap-box">
|
||||
<h3 class="wrap-title"><span>相邻小说</span></h3>
|
||||
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
|
||||
|
||||
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
</div>
|
||||
<div class="rec-focus" style="font-size:12px;">
|
||||
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
{/volist}
|
||||
|
||||
{php}
|
||||
$arrRandomForgeNovels = [];
|
||||
if (isset($arrNovel['n_forge_novel']) && is_array($arrNovel['n_forge_novel'])) {
|
||||
$forgeNovels = $arrNovel['n_forge_novel'];
|
||||
if (count($forgeNovels) > 10) {
|
||||
$randomKeys = array_rand($forgeNovels, 10);
|
||||
$arrRandomForgeNovels = array_intersect_key($forgeNovels, array_flip($randomKeys));
|
||||
} else {
|
||||
$arrRandomForgeNovels = $forgeNovels;
|
||||
shuffle($arrRandomForgeNovels);
|
||||
}
|
||||
$arrRandomForgeNovels = array_values($arrRandomForgeNovels);
|
||||
}
|
||||
{/php}
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
<a
|
||||
href='{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'>{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id' : `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||
'n_name' : `{$arrNovel['n_name']}`,
|
||||
'n_author' : `{$arrNovel['n_author']}`,
|
||||
'n_status' : `{$arrNovel['n_status']}`,
|
||||
'n_description' : `{$arrNovel['n_description']}`,
|
||||
'n_latest_chapter_name' : `{$arrNovel['n_latest_chapter_name']}`,
|
||||
'n_update_time' : `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
|
||||
{/block}
|
||||
288
code/app/home/view/default/pc/getKanNovelInfo.html
Normal file
288
code/app/home/view/default/pc/getKanNovelInfo.html
Normal file
@@ -0,0 +1,288 @@
|
||||
{extend name="basePc" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="head"}
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
|
||||
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
|
||||
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
|
||||
<meta property="og:novel:read_url"
|
||||
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
|
||||
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description" content="'{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Book",
|
||||
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
|
||||
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "{$arrNovel['n_author'] ??'佚名'}"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
"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",
|
||||
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "4.5",
|
||||
"reviewCount": "100",
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2>
|
||||
<a href="{$strPcPath}/">
|
||||
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
|
||||
</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}
|
||||
{/block}
|
||||
|
||||
{block name="body-class"}novel_info{/block}
|
||||
|
||||
{block name="main"}
|
||||
|
||||
<div class="container biqunaicc">
|
||||
<div class="row row-detail">
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit xs-hidden">
|
||||
<a href="{$strPcPath}/">{$DomainModel->d_name}</a>>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{$arrNovel['n_name']}
|
||||
</a>
|
||||
</h2>
|
||||
<div class="detail-box">
|
||||
<div class="imgbox">
|
||||
<img data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节"
|
||||
class="lazyload_book_cover lazyload-img">
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="top">
|
||||
<h1>{$arrNovel['n_name']}</h1>
|
||||
<div class="fix">
|
||||
<p>作 者:{$arrNovel.n_author ?? ''}</p>
|
||||
<p class="xs-show">类 别:{$arrNovel.n_category ?? ''}</p>
|
||||
<p class="xs-show">状 态:{$arrNovel.n_status ?? ''}</p>
|
||||
<p class="opt">
|
||||
<span class="xs-hidden">动 作:</span>
|
||||
<a rel="nofollow" onclick="addBookshelfFun()">加入书架</a>
|
||||
<i class="xs-hidden">、</i>
|
||||
<a
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
|
||||
<i class="xs-hidden">、</i>
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a>
|
||||
</p>
|
||||
<p>最后更新:{$arrNovel.n_update_time ?? ''} </p>
|
||||
<p>最新章节:<a
|
||||
href='{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{$arrNovel.n_latest_chapter_name ?? ""}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc xs-hidden">{$arrNovel.n_description ?? ''}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit">《{$arrNovel.n_name ?? ''}》{$arrNovel.n_name ?? '章节'}</h2>
|
||||
<div class="first_txt">
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<h4 class="site-description ">{$DomainModel->d_index_description}</h4>
|
||||
{/if}
|
||||
|
||||
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
|
||||
<p>相邻推荐:
|
||||
{php}
|
||||
$arrRandomForgeNovels = [];
|
||||
if (isset($arrNovel['n_forge_novel']) && is_array($arrNovel['n_forge_novel'])) {
|
||||
$forgeNovels = $arrNovel['n_forge_novel'];
|
||||
if (count($forgeNovels) > 10) {
|
||||
$randomKeys = array_rand($forgeNovels, 10);
|
||||
$arrRandomForgeNovels = array_intersect_key($forgeNovels, array_flip($randomKeys));
|
||||
} else {
|
||||
$arrRandomForgeNovels = $forgeNovels;
|
||||
shuffle($arrRandomForgeNovels);
|
||||
}
|
||||
$arrRandomForgeNovels = array_values($arrRandomForgeNovels);
|
||||
}
|
||||
{/php}
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
{if !empty($arrGrm[$key+20])}
|
||||
{$arrGrm[$key+20]|raw}
|
||||
{/if}
|
||||
<a
|
||||
href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
|
||||
class="red">{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
|
||||
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
|
||||
<a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
{/volist}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row row-section">
|
||||
<div class="layout layout-col1">
|
||||
<h2 class="layout-tit">《{$arrNovel.n_name}》最新章节</h2>
|
||||
<ul class="section-list fix">
|
||||
{chapter:list count="12" sort_type="dao" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter" cache_life="3600"}
|
||||
<li>
|
||||
{if !empty($arrGrm[$key])}
|
||||
{$arrGrm[$key]|raw}
|
||||
{/if}
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<h2 class="layout-tit">《{$arrNovel.n_name}》章节列表</h2>
|
||||
<ul class="fix section-list">
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter" cache_life="3600"}
|
||||
<li>
|
||||
{if !empty($arrGrm[$key+10])}
|
||||
{$arrGrm[$key+10]|raw}
|
||||
{/if}
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul><a
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn-mulu">查看更多章节...</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row row-section">
|
||||
<h2 class="layout-tit">已完结热门小说推荐</h2>
|
||||
<div class="layout layout-col3">
|
||||
|
||||
{novel:list count="36" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="key" d_val="Novel" p_val="page_data" cache_life="3600"}
|
||||
<div class="item">
|
||||
<div class="image">
|
||||
{if !empty($arrGrm[$key+110])}
|
||||
{$arrGrm[$key+110]|raw}
|
||||
{/if}
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>
|
||||
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
|
||||
</a>
|
||||
</div>
|
||||
<dl>
|
||||
<dt><span>{$Novel.n_author}</span><a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
</dt>
|
||||
<dd style="height:90px"><a
|
||||
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
|
||||
style="color: #555">{$Novel.n_description}</a>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
{/novel:list}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id' : `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||
'n_name' : `{$arrNovel['n_name']}`,
|
||||
'n_author' : `{$arrNovel['n_author']}`,
|
||||
'n_status' : `{$arrNovel['n_status']}`,
|
||||
'n_description' : `{$arrNovel['n_description']}`,
|
||||
'n_latest_chapter_name' : `{$arrNovel['n_latest_chapter_name']}`,
|
||||
'n_update_time' : `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
{/block}
|
||||
304
code/app/home/view/haoZi/novel/getKanNovelInfo.html
Normal file
304
code/app/home/view/haoZi/novel/getKanNovelInfo.html
Normal file
@@ -0,0 +1,304 @@
|
||||
{extend name="baseH5" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="head"}
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
|
||||
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
|
||||
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
|
||||
<meta property="og:novel:read_url"
|
||||
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
|
||||
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Book",
|
||||
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
|
||||
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "{$arrNovel['n_author'] ??'佚名'}"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
"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",
|
||||
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "4.5",
|
||||
"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>
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2 class="logo">
|
||||
<a href="/">{$DomainModel->d_name}-{$DomainModel->d_text_logo}</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<h4 class="site-description ">{$DomainModel->d_index_description}</h4>
|
||||
{/if}
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="detail">
|
||||
<img rc="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img">
|
||||
<p class="name">
|
||||
<strong>{$arrNovel.n_name}</strong>
|
||||
</p>
|
||||
<p class="author">
|
||||
<i class="layui-icon i_author"></i>
|
||||
<a href='{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a>
|
||||
</p>
|
||||
<p>
|
||||
<span class="layui-btn layui-btn-xs layui-btn-radius">{$arrNovel.n_category}</span>
|
||||
<span class="layui-btn layui-btn-xs layui-btn-radius layui-btn-danger">{$arrNovel.n_status}</span>
|
||||
</p>
|
||||
<p class="new">
|
||||
最新章节:<a href='{site:lcpurl n_id="$arrNovel.n_id"
|
||||
n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel.arrLatestChapter.c_name ?? ""}</a>
|
||||
</p>
|
||||
<p>最后更新:{$arrNovel.n_update_time}</p>
|
||||
</div>
|
||||
<ul class="action">
|
||||
<li>
|
||||
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="javascript:addBookshelfFun();">加入书架</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="box">
|
||||
<div class="title">{$arrNovel.n_name}小说简介</div>
|
||||
<div class="intro">
|
||||
<p>{$arrNovel.n_description ?? ''}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="title">{$arrNovel.n_name}最新内容</div>
|
||||
<div class="intro">
|
||||
<p>{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div class="title">{$arrNovel.n_name} 最新章节</div>
|
||||
<ul class="vlist">
|
||||
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="3600"}
|
||||
<li>
|
||||
{if !empty($arrGrm[$d_key])}
|
||||
{$arrGrm[$d_key]|raw}
|
||||
{/if}
|
||||
<a
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
|
||||
</ul>
|
||||
<div class="title">{$arrNovel.n_name} 章节列表(第1页/100章)</div>
|
||||
<ul class="vlist">
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter"
|
||||
cache_life="3600"}
|
||||
<li>
|
||||
{if !empty($arrGrm[$d_key+10])}
|
||||
{$arrGrm[$d_key+10]|raw}
|
||||
{/if}
|
||||
|
||||
<a
|
||||
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tui">
|
||||
<div class="listtop">
|
||||
<b>书友点击:</b>
|
||||
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name} </a>
|
||||
{/volist}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tui">
|
||||
<div class="listtop">
|
||||
<b>书友推荐:</b>
|
||||
{php}
|
||||
$arrRandomForgeNovels = [];
|
||||
if (isset($arrNovel['n_forge_novel']) && is_array($arrNovel['n_forge_novel'])) {
|
||||
$forgeNovels = $arrNovel['n_forge_novel'];
|
||||
if (count($forgeNovels) > 10) {
|
||||
$randomKeys = array_rand($forgeNovels, 10);
|
||||
$arrRandomForgeNovels = array_intersect_key($forgeNovels, array_flip($randomKeys));
|
||||
} else {
|
||||
$arrRandomForgeNovels = $forgeNovels;
|
||||
shuffle($arrRandomForgeNovels);
|
||||
}
|
||||
$arrRandomForgeNovels = array_values($arrRandomForgeNovels);
|
||||
}
|
||||
{/php}
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
<a
|
||||
href='{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'>{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tui">
|
||||
<div class="listtop">
|
||||
<b>书友收藏:</b>
|
||||
{novel:list count="36" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel"
|
||||
p_val="page_data" cache_life="3600"}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
{/novel:list}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id' : `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||
'n_name' : `{$arrNovel['n_name']}`,
|
||||
'n_author' : `{$arrNovel['n_author']}`,
|
||||
'n_status' : `{$arrNovel['n_status']}`,
|
||||
'n_description' : `{$arrNovel['n_description']}`,
|
||||
'n_latest_chapter_name' : `{$arrNovel['n_latest_chapter_name']}`,
|
||||
'n_update_time' : `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="footer-js"}
|
||||
|
||||
{/block}
|
||||
@@ -2,23 +2,51 @@
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{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="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}{/block}
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head"}
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta property="og:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
@@ -37,7 +65,8 @@
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta name="twitter:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
@@ -71,10 +100,9 @@
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
{block name="head-css"}
|
||||
<link rel="canonical"
|
||||
href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{/block}
|
||||
|
||||
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2>
|
||||
<a href="{$strPcPath}/">
|
||||
@@ -82,190 +110,148 @@
|
||||
</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
{block name="strPageCode"}
|
||||
<?php $strPageCode = 'info'; ?>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="content">
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="{$strPcPath}/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href="{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1" itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="info">
|
||||
<div class="info_box">
|
||||
<div class="info_L">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
title="{$arrNovel['n_name']}" class="book_cov">
|
||||
<img src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel->n_name ?? ''}封面" class="lazyload_book_cover lazyload-img">
|
||||
<i class="serial">{$arrNovel.n_status ?? ''}</i>
|
||||
</a>
|
||||
<div class="btn">
|
||||
<a href="javascript:;" class="sc" onclick="addBookshelfFun()">
|
||||
<s></s>
|
||||
<p>加入书架</p>
|
||||
</a>
|
||||
<a href="javascript:;" class="xh"><s></s>我喜欢</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info_C book_inf">
|
||||
<div class="c01">
|
||||
<h3><a
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel['n_name']}</a>
|
||||
</h3>
|
||||
<!-- <span id="mod_book_star">0分</span> -->
|
||||
</div>
|
||||
<p class="c02">
|
||||
<span class="zz">作者:{$arrNovel.n_author}</span>
|
||||
<span>创建日期:{$arrNovel.n_update_time}</span>
|
||||
</p>
|
||||
<div class="c03">
|
||||
<p class="jianjie">简介</p>
|
||||
<div class="c03_box">
|
||||
<p class="jj_con" id="book_desc">
|
||||
{$arrNovel.n_description}</p>
|
||||
<span class="zk_btn" style="">展开<s></s></span>
|
||||
<span class="sq_btn" style="display: none;">收起<s></s></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="c03 c03-jjyd">
|
||||
<p class="jianjie">最新要点</p>
|
||||
<div class="c03_box">
|
||||
<p class="jj_con" id="book_desc2">
|
||||
{$strFocus}</p>
|
||||
<span class="zk_btn" style="">展开<s></s></span>
|
||||
<span class="sq_btn" style="display: none;">收起<s></s></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="c04">
|
||||
{if !empty($arrChapter)}
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/zhang-1" class="read">立即阅读</a>
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/mulu/zheng" class="mulu">目录</a>
|
||||
{/if}
|
||||
</div>
|
||||
<!-- <div class="c05">
|
||||
<p class="c05_t">作品标签:
|
||||
<a href="#" class="red">打发十分</a>
|
||||
|
||||
|
||||
</p>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="info_R">
|
||||
<div class="inf02">
|
||||
<h4>小说信息</h4>
|
||||
<p>类别:
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1' title="{$arrNovel.n_category}">
|
||||
{$arrNovel.n_category}
|
||||
</a>
|
||||
</p>
|
||||
<!-- <p>总字数:54.20万+</p> -->
|
||||
<p>总点击量:{$arrNovelClicks.total}</p>
|
||||
<p>月点击量:{$arrNovelClicks.monthly}</p>
|
||||
<p>周点击量:{$arrNovelClicks.weekly}</p>
|
||||
<p>日点击量:{$arrNovelClicks.daily}</p>
|
||||
<!-- <p>收藏:0</p> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info2">
|
||||
<div class="info2_L sjxq">
|
||||
<div class="gxzj">
|
||||
<div class="pl_tit">
|
||||
<h2>最新章节</h2>
|
||||
</div>
|
||||
<div class="zj_con">
|
||||
{volist name="arrChapter" id="Chapter" key="key"}
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<div id="wrapper">
|
||||
<div id="main">
|
||||
<div class="box_con">
|
||||
<div id="maininfo">
|
||||
<div id="info">
|
||||
<h1>{$arrNovel.n_name}</h1>
|
||||
<p>
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$Chapter.n_id}/zhang-{$Chapter.c_sort_num}"
|
||||
class="zj">{$Chapter.c_name}</a>
|
||||
<span class="time">{$Chapter.created_at ?? '1天前'}</span>
|
||||
<!-- <span class="time">3天前</span>-->
|
||||
作者:<a href='{$strPcPath}{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a>
|
||||
状态:{$arrNovel.n_status}
|
||||
</p>
|
||||
<p class="zw" style="max-height: 98px; overflow: hidden;"></p>
|
||||
<p>
|
||||
分类:其他小说 <a rel="nofollow"
|
||||
href="javascript:addBookshelfFun();">加入书架</a>
|
||||
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
|
||||
</p>
|
||||
<p>
|
||||
最新章节:<a href='{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id"
|
||||
n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel.arrLatestChapter.c_name ?? ""}</a>
|
||||
</p>
|
||||
<p>更新时间:{$arrNovel.n_update_time}</p>
|
||||
</div>
|
||||
<div id="intro">
|
||||
{$arrNovel.n_description ?? ''}<br />
|
||||
{php}
|
||||
$arrRandomForgeNovels = [];
|
||||
if (isset($arrNovel['n_forge_novel']) && is_array($arrNovel['n_forge_novel'])) {
|
||||
$forgeNovels = $arrNovel['n_forge_novel'];
|
||||
if (count($forgeNovels) > 10) {
|
||||
$randomKeys = array_rand($forgeNovels, 10);
|
||||
$arrRandomForgeNovels = array_intersect_key($forgeNovels, array_flip($randomKeys));
|
||||
} else {
|
||||
$arrRandomForgeNovels = $forgeNovels;
|
||||
shuffle($arrRandomForgeNovels);
|
||||
}
|
||||
$arrRandomForgeNovels = array_values($arrRandomForgeNovels);
|
||||
}
|
||||
{/php}
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
<a
|
||||
href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'>{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="pl_tit">
|
||||
<h2>相邻推荐:</h2>
|
||||
</div>
|
||||
<div class="pl_con">
|
||||
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
||||
<!-- n_forge_id -->
|
||||
<a href='{$strPcPath}/kan-xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'
|
||||
class="red">{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
|
||||
<div id="sidebar">
|
||||
<div id="fmimg">
|
||||
<img rc="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img"
|
||||
width="120" height="150" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box_con">
|
||||
<div id="list">
|
||||
<dl>
|
||||
<dt>《{$arrNovel.n_name}》最新章节</dt>
|
||||
{chapter:list count="12" sort_type="dao" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter"
|
||||
cache_life="3600"}
|
||||
<dd>
|
||||
{if !empty($arrGrm[$key])}
|
||||
{$arrGrm[$key]|raw}
|
||||
{/if}
|
||||
<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>
|
||||
</dd>
|
||||
|
||||
<div class="info2_R">
|
||||
<div class="fsph">
|
||||
<h4><s></s>精品推荐</h4>
|
||||
<ul class="info2_C">
|
||||
{volist name="arrRelateveNovel" id="Novel" key="key"}
|
||||
<li>
|
||||
<h3>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
|
||||
title="{$Novel['n_name'] ?? ''}">
|
||||
{$Novel['n_name'] ?? ''}
|
||||
</a>
|
||||
</h3>
|
||||
<div>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
|
||||
title="$Novel['n_name'] ?? ''}" class="book_cov">
|
||||
<img src="/template/kuangyu/home/bai_web/images/default.png"
|
||||
data-src="{$Novel['n_cover_path'] ?? ''}" class="lazyload_book_cover lazyload-img"
|
||||
alt="{$Novel['n_name'] ?? ''}">
|
||||
</a>
|
||||
<div class="book_inf">
|
||||
<span class="aut">{$Novel['n_author'] ?? ''}</span>
|
||||
<span class="tag"><a href="/">{$Novel['n_category'] ?? ''}</a></span>
|
||||
<p class="int">
|
||||
{$Novel['n_description'] ?? ''}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{/volist}
|
||||
{/chapter:list}
|
||||
|
||||
</ul>
|
||||
<dt>
|
||||
<b>《{$arrNovel.n_name}》正文目录</b>
|
||||
</dt>
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter"
|
||||
cache_life="3600"}
|
||||
<dd>
|
||||
{if !empty($arrGrm[$key + 12])}
|
||||
{$arrGrm[$key + 12]|raw}
|
||||
{/if}
|
||||
<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>
|
||||
</dd>
|
||||
{/chapter:list}
|
||||
|
||||
<dt style="text-align:center;">
|
||||
<b>
|
||||
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
title="查看《{$arrNovel.n_name}》全部章节列表">
|
||||
>> 查看《{$arrNovel.n_name}》更多章节列表
|
||||
<<</a>
|
||||
</b>
|
||||
</dt>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hotbook"></div>
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<p>{$DomainModel->d_index_description}</p>
|
||||
{/if}
|
||||
<p>{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
||||
</p>
|
||||
</div>
|
||||
<div class="hotbook">
|
||||
<b>书友点击:</b>
|
||||
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name} </a>
|
||||
{/volist}
|
||||
</div>
|
||||
|
||||
<div class="hotbook">
|
||||
<b>书友收藏:</b>
|
||||
{novel:list count="36" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel"
|
||||
p_val="page_data" cache_life="3600"}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||
{/novel:list}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id' : `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||
'n_name' : `{$arrNovel['n_name']}`,
|
||||
'n_author' : `{$arrNovel['n_author']}`,
|
||||
'n_status' : `{$arrNovel['n_status']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
const arrNovel = {
|
||||
'n_id': `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path': `{$arrNovel['n_cover_path']}`,
|
||||
'n_name': `{$arrNovel['n_name']}`,
|
||||
'n_author': `{$arrNovel['n_author']}`,
|
||||
'n_status': `{$arrNovel['n_status']}`,
|
||||
'n_update_time': `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num': 1,
|
||||
'c_name': `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
345
code/app/home/view/kuangYu/novel/getKanNovelInfo.html
Normal file
345
code/app/home/view/kuangYu/novel/getKanNovelInfo.html
Normal file
@@ -0,0 +1,345 @@
|
||||
{extend name="baseH5" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="head"}
|
||||
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
|
||||
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
|
||||
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
|
||||
<meta property="og:novel:read_url"
|
||||
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
|
||||
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Book",
|
||||
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
|
||||
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "{$arrNovel['n_author'] ??'佚名'}"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
"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",
|
||||
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "4.5",
|
||||
"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>
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2 class="logo">
|
||||
<a href="/">{$DomainModel->d_name}-{$DomainModel->d_text_logo}</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="wrap">
|
||||
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<h4 class="site-description ">{$DomainModel->d_index_description}</h4>
|
||||
{/if}
|
||||
</nav>
|
||||
|
||||
<!--info-->
|
||||
<div class="mod mod-info">
|
||||
{$arrGrm[0]|raw}
|
||||
<div class="book-info">
|
||||
<dl class="base clearfix">
|
||||
<dt>
|
||||
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img" />
|
||||
|
||||
<i class='{eq name="arrNovel.n_status" value="连载中"}serial{else}finish {/eq}'>已完结</i>
|
||||
</dt>
|
||||
<dd>
|
||||
<h2>{$arrNovel['n_name']}</h2>
|
||||
<p class="info">
|
||||
<span>分类:{$arrNovel.n_category}</span>
|
||||
<span>作者:<a href='{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a></span>
|
||||
<!-- <span>字数:54.20万字</span> -->
|
||||
<span>阅读:{$arrNovel.arrNovelClicks.total}</span>
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
{$arrGrm[1]|raw}
|
||||
<div class="btns">
|
||||
<ul>
|
||||
{if !empty($arrNovel.intFirstChapterSort)}
|
||||
<li>
|
||||
{$arrGrm[2]|raw}
|
||||
<a class="read-online reading" href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'
|
||||
>点击阅读</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li>
|
||||
<a class="b5673b5cd4b" onclick="addBookshelfFun()">加入书架</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="intro">
|
||||
{$arrGrm[3]|raw}
|
||||
<div class="content">
|
||||
<p>
|
||||
{$arrNovel.n_description ?? ''}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- hot-book -->
|
||||
<div class="mod mod-info">
|
||||
<div class="book-info">
|
||||
<div class="mod-head">
|
||||
<h3>最新要点</h3>
|
||||
</div>
|
||||
{$arrGrm[4]|raw}
|
||||
<div class="intro">
|
||||
<div class="content">
|
||||
<p>
|
||||
{$arrNovel.strFocus}
|
||||
</p>
|
||||
<p class="xianglingtuijian">相邻推荐:
|
||||
{php}
|
||||
$arrRandomForgeNovels = [];
|
||||
if (isset($arrNovel['n_forge_novel']) && is_array($arrNovel['n_forge_novel'])) {
|
||||
$forgeNovels = $arrNovel['n_forge_novel'];
|
||||
if (count($forgeNovels) > 10) {
|
||||
$randomKeys = array_rand($forgeNovels, 10);
|
||||
$arrRandomForgeNovels = array_intersect_key($forgeNovels, array_flip($randomKeys));
|
||||
} else {
|
||||
$arrRandomForgeNovels = $forgeNovels;
|
||||
shuffle($arrRandomForgeNovels);
|
||||
}
|
||||
$arrRandomForgeNovels = array_values($arrRandomForgeNovels);
|
||||
}
|
||||
{/php}
|
||||
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
{if !empty($arrGrm[$key+20])}
|
||||
{$arrGrm[$key+20]|raw}
|
||||
{/if}
|
||||
<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}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- hot-book -->
|
||||
<div class="mod mod-attentions">
|
||||
<div class="mod-head">
|
||||
<h3>{$arrNovel.n_name}最新章节</h3>
|
||||
</div>
|
||||
<div class="attentions">
|
||||
<ul class="clearfix">
|
||||
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter" cache_life="3600"}
|
||||
<li>
|
||||
{if !empty($arrGrm[$key+20])}
|
||||
{$arrGrm[$key+20]|raw}
|
||||
{/if}
|
||||
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
|
||||
title="{$arrNovel.n_name}-{$Chapter.c_name}">{$Chapter.c_name}</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
|
||||
</ul>
|
||||
<div class="chapters-more">
|
||||
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mod mod-guess">
|
||||
<div class="mod-head">
|
||||
<h3>同类作品</h3>
|
||||
</div>
|
||||
<div class="book-slide">
|
||||
<ul class="clearfix">
|
||||
{foreach $arrNovel.arrRelateveNovel as $Novel}
|
||||
<li>
|
||||
{$arrGrm[$key+10]|raw}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin"/}'>
|
||||
<img class="lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''}" />
|
||||
<span>{$Novel.n_name ?? ''}</span>
|
||||
<em>
|
||||
<aria>作者:</aria>{$Novel.n_author ?? ''}
|
||||
</em>
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
|
||||
{novel:list count="30" n_category="$arrNovel.n_category_pinyin" sort_type="update" d_key="d_key" diff_key="$Request.route.intForgeId"
|
||||
d_val="Novel" cache_life="3600"}
|
||||
|
||||
<li>
|
||||
{$arrGrm[$key+50]|raw}
|
||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin"/}'>
|
||||
<img class="lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''}" />
|
||||
<span>{$Novel.n_name ?? ''}</span>
|
||||
<em>
|
||||
<aria>作者:</aria>{$Novel.n_author ?? ''}
|
||||
</em>
|
||||
</a>
|
||||
</li>
|
||||
{/novel:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id' : `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||
'n_name' : `{$arrNovel['n_name']}`,
|
||||
'n_author' : `{$arrNovel['n_author']}`,
|
||||
'n_status' : `{$arrNovel['n_status']}`,
|
||||
'n_description' : `{$arrNovel['n_description']}`,
|
||||
'n_latest_chapter_name' : `{$arrNovel['n_latest_chapter_name']}`,
|
||||
'n_update_time' : `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="footer-js"}
|
||||
|
||||
{/block}
|
||||
@@ -2,23 +2,49 @@
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{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="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}{/block}
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head"}
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta property="og:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
@@ -34,12 +60,13 @@
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta name="twitter:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<!-- 结构化数据 -->
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
@@ -71,10 +98,9 @@
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
{block name="head-css"}
|
||||
<link rel="canonical"
|
||||
href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{/block}
|
||||
|
||||
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2>
|
||||
<a href="{$strPcPath}/">
|
||||
@@ -82,7 +108,13 @@
|
||||
</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
{block name="strPageCode"}
|
||||
<?php $strPageCode = 'info'; ?>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<div class="content">
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
@@ -93,19 +125,25 @@
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href="{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1" 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>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<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>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} -
|
||||
{$DomainModel->d_name}</h1>
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<h4 class="site-description ">{$DomainModel->d_index_description}</h4>
|
||||
{/if}
|
||||
</nav>
|
||||
|
||||
<div class="info">
|
||||
@@ -113,8 +151,9 @@
|
||||
<div class="info_L">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
title="{$arrNovel['n_name']}" class="book_cov">
|
||||
<img src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel->n_name ?? ''}封面" class="lazyload_book_cover lazyload-img">
|
||||
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节"
|
||||
class="lazyload_book_cover lazyload-img">
|
||||
<i class="serial">{$arrNovel.n_status ?? ''}</i>
|
||||
</a>
|
||||
<div class="btn">
|
||||
@@ -127,9 +166,9 @@
|
||||
</div>
|
||||
<div class="info_C book_inf">
|
||||
<div class="c01">
|
||||
<h3><a
|
||||
<h2><a
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel['n_name']}</a>
|
||||
</h3>
|
||||
</h2>
|
||||
<!-- <span id="mod_book_star">0分</span> -->
|
||||
</div>
|
||||
<p class="c02">
|
||||
@@ -140,8 +179,8 @@
|
||||
<p class="jianjie">简介</p>
|
||||
<div class="c03_box">
|
||||
<p class="jj_con" id="book_desc">
|
||||
{$arrNovel.n_description}</p>
|
||||
<span class="zk_btn" style="">展开<s></s></span>
|
||||
{$arrNovel.n_description ?? ''}</p>
|
||||
<span class="zk_btn">展开<s></s></span>
|
||||
<span class="sq_btn" style="display: none;">收起<s></s></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -149,16 +188,16 @@
|
||||
<p class="jianjie">最新要点</p>
|
||||
<div class="c03_box">
|
||||
<p class="jj_con" id="book_desc2">
|
||||
{$strFocus}</p>
|
||||
<span class="zk_btn" style="">展开<s></s></span>
|
||||
{$arrNovel.strFocus}</p>
|
||||
<span class="zk_btn">展开<s></s></span>
|
||||
<span class="sq_btn" style="display: none;">收起<s></s></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="c04">
|
||||
{if !empty($arrChapter)}
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/zhang-1" class="read">立即阅读</a>
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/mulu/zheng" class="mulu">目录</a>
|
||||
{/if}
|
||||
<a href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'
|
||||
class="read">立即阅读</a>
|
||||
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="mulu">目录</a>
|
||||
</div>
|
||||
<!-- <div class="c05">
|
||||
<p class="c05_t">作品标签:
|
||||
@@ -173,16 +212,16 @@
|
||||
<div class="inf02">
|
||||
<h4>小说信息</h4>
|
||||
<p>类别:
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1' title="{$arrNovel.n_category}">
|
||||
<a href='{$strPcPath}{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" status="all" page="1"/}'
|
||||
title="{$arrNovel.n_category}">
|
||||
{$arrNovel.n_category}
|
||||
</a>
|
||||
</p>
|
||||
<!-- <p>总字数:54.20万+</p> -->
|
||||
<p>总点击量:{$arrNovelClicks.total}</p>
|
||||
<p>月点击量:{$arrNovelClicks.monthly}</p>
|
||||
<p>周点击量:{$arrNovelClicks.weekly}</p>
|
||||
<p>日点击量:{$arrNovelClicks.daily}</p>
|
||||
<p>总点击量:{$arrNovel.arrNovelClicks.total}</p>
|
||||
<p>月点击量:{$arrNovel.arrNovelClicks.monthly}</p>
|
||||
<p>周点击量:{$arrNovel.arrNovelClicks.weekly}</p>
|
||||
<p>日点击量:{$arrNovel.arrNovelClicks.daily}</p>
|
||||
<!-- <p>收藏:0</p> -->
|
||||
</div>
|
||||
|
||||
@@ -196,27 +235,59 @@
|
||||
<h2>最新章节</h2>
|
||||
</div>
|
||||
<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="3600"}
|
||||
<p>
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$Chapter.n_id}/zhang-{$Chapter.c_sort_num}"
|
||||
class="zj">{$Chapter.c_name}</a>
|
||||
{if !empty($arrGrm[$key])}
|
||||
{$arrGrm[$key]|raw}
|
||||
{/if}
|
||||
<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>
|
||||
<span class="time">{$Chapter.created_at ?? '1天前'}</span>
|
||||
<!-- <span class="time">3天前</span>-->
|
||||
</p>
|
||||
<p class="zw" style="max-height: 98px; overflow: hidden;"></p>
|
||||
{/volist}
|
||||
{/chapter:list}
|
||||
</div>
|
||||
</div>
|
||||
<div class="pl_tit">
|
||||
<h2>相邻推荐:</h2>
|
||||
</div>
|
||||
<div class="pl_con">
|
||||
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
||||
<!-- n_forge_id -->
|
||||
<a href='{$strPcPath}/kan-xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'
|
||||
{php}
|
||||
$arrRandomForgeNovels = [];
|
||||
if (isset($arrNovel['n_forge_novel']) && is_array($arrNovel['n_forge_novel'])) {
|
||||
$forgeNovels = $arrNovel['n_forge_novel'];
|
||||
if (count($forgeNovels) > 10) {
|
||||
$randomKeys = array_rand($forgeNovels, 10);
|
||||
$arrRandomForgeNovels = array_intersect_key($forgeNovels, array_flip($randomKeys));
|
||||
} else {
|
||||
$arrRandomForgeNovels = $forgeNovels;
|
||||
shuffle($arrRandomForgeNovels);
|
||||
}
|
||||
$arrRandomForgeNovels = array_values($arrRandomForgeNovels);
|
||||
}
|
||||
{/php}
|
||||
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
{if !empty($arrGrm[$key+20])}
|
||||
{$arrGrm[$key+20]|raw}
|
||||
{/if}
|
||||
<a href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
|
||||
class="red">{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
|
||||
{novel:list count="30" n_category="$arrNovel.n_category_pinyin" sort_type="update" d_key="d_key"
|
||||
diff_key="$Request.route.intForgeId"
|
||||
d_val="Novel" cache_life="3600"}
|
||||
{if !empty($arrGrm[$key+80])}
|
||||
{$arrGrm[$key+80]|raw}
|
||||
{/if}
|
||||
<a href='{$strPcPath}{site:nnurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" n_fid="$Novel.n_id"/}'
|
||||
class="red">{$Novel.n_name}</a>
|
||||
{/novel:list}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -224,9 +295,13 @@
|
||||
<div class="fsph">
|
||||
<h4><s></s>精品推荐</h4>
|
||||
<ul class="info2_C">
|
||||
{volist name="arrRelateveNovel" id="Novel" key="key"}
|
||||
{novel:list count="30" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="key"
|
||||
d_val="Novel" p_val="page_data" cache_life="3600"}
|
||||
<li>
|
||||
<h3>
|
||||
{if !empty($arrGrm[$key+10])}
|
||||
{$arrGrm[$key+10]|raw}
|
||||
{/if}
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
|
||||
title="{$Novel['n_name'] ?? ''}">
|
||||
{$Novel['n_name'] ?? ''}
|
||||
@@ -247,8 +322,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{/volist}
|
||||
|
||||
{/novel:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -256,16 +330,17 @@
|
||||
</div>
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id' : `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||
'n_name' : `{$arrNovel['n_name']}`,
|
||||
'n_author' : `{$arrNovel['n_author']}`,
|
||||
'n_status' : `{$arrNovel['n_status']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
const arrNovel = {
|
||||
'n_id': `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path': `{$arrNovel['n_cover_path']}`,
|
||||
'n_name': `{$arrNovel['n_name']}`,
|
||||
'n_author': `{$arrNovel['n_author']}`,
|
||||
'n_status': `{$arrNovel['n_status']}`,
|
||||
'n_update_time': `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num': 1,
|
||||
'c_name': `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -66,6 +66,10 @@
|
||||
<meta name="twitter:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
@@ -120,7 +124,6 @@
|
||||
{/block}
|
||||
|
||||
|
||||
|
||||
{block name="head-js"}
|
||||
{/block}
|
||||
|
||||
@@ -361,16 +364,16 @@
|
||||
</div>
|
||||
{else}
|
||||
<div class="work-list">
|
||||
{novel:list count="16" n_category="$arrNovel.n_category_pinyin" sort_type="update" d_key="d_key"
|
||||
{novel:list count="32" n_category="$arrNovel.n_category_pinyin" sort_type="update" d_key="d_key"
|
||||
d_val="Novel" diff_key="$Request.route.intForgeId" cache_life="600"}
|
||||
{include file="public/novel-list-flex" start="16"/}
|
||||
{/novel:list}
|
||||
</div>
|
||||
{if !empty($Request.route.intForgeId) && !empty($arrGrm[99])}
|
||||
{$arrGrm[99]|raw}
|
||||
{/if}
|
||||
{$arrGrm[99]|raw}
|
||||
{/if}
|
||||
<div class="work-list">
|
||||
{novel:ranklist count="8" sort_type="daily" d_key="d_key"
|
||||
{novel:ranklist count="32" sort_type="daily" d_key="d_key"
|
||||
d_val="Novel" diff_key="$Request.route.intForgeId" cache_life="600"}
|
||||
{include file="public/novel-list-flex" start="16"/}
|
||||
{/novel:ranklist}
|
||||
@@ -384,8 +387,9 @@
|
||||
</div>
|
||||
</div>
|
||||
{if !empty($Request.route.intForgeId) && !empty($arrGrm[98])}
|
||||
{$arrGrm[98]|raw}
|
||||
{/if}
|
||||
{$arrGrm[98]|raw}
|
||||
{/if}
|
||||
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
|
||||
300
code/app/home/view/xiongMao/novel/getKanNovelInfo.html
Normal file
300
code/app/home/view/xiongMao/novel/getKanNovelInfo.html
Normal file
@@ -0,0 +1,300 @@
|
||||
{extend name="baseH5" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
|
||||
{/block}
|
||||
|
||||
|
||||
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
{block name="head"}
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
|
||||
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
|
||||
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
|
||||
<meta property="og:novel:read_url"
|
||||
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
|
||||
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Book",
|
||||
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
|
||||
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "{$arrNovel['n_author'] ??'佚名'}"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
"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",
|
||||
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "4.5",
|
||||
"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>
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2 class="logo">
|
||||
<a href="/">{$DomainModel->d_name}-{$DomainModel->d_text_logo}</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
|
||||
{block name='body-class'}info_xs{/block}
|
||||
|
||||
{block name="main"}
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<h4 class="site-description ">{$DomainModel->d_index_description}</h4>
|
||||
{/if}
|
||||
<div class="header_info">
|
||||
|
||||
<div class="xs_info xsjs">
|
||||
<span class="iconfont icon-shuji fs24 btn_cl_2 mt3"></span>
|
||||
<i>
|
||||
<a href='{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a>
|
||||
/著
|
||||
</i>
|
||||
<h2 class="br-b-1 fs14 btn_cl_2">
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
class="btn_cl_2">{$arrNovel.n_name}</a>
|
||||
</h2>
|
||||
<div class="xs_introduce">
|
||||
{$arrNovel.n_description}
|
||||
<br>
|
||||
{$arrNovel.strFocus}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="xs_fmzz"></div>
|
||||
</div>
|
||||
<div class="xs_info qs_zx">
|
||||
<span class="iconfont icon-daoxu fs20 btn_cl_2 mt5"></span>
|
||||
<h2 class="br-b-1 fs14 btn_cl_2">
|
||||
<a href='{site:lcpurl n_id="$arrNovel.n_id"
|
||||
n_py="$arrNovel.n_name_pinyin" /}' class="btn_cl_2">{$arrNovel.n_name}</a>
|
||||
最新章节
|
||||
</h2>
|
||||
<ul class="ph_list">
|
||||
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="3600"}
|
||||
<li class="br-b-1">
|
||||
{if !empty($arrGrm[$d_key])}
|
||||
{$arrGrm[$d_key]|raw}
|
||||
{/if}
|
||||
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
|
||||
class="s">
|
||||
{$Chapter.c_name}
|
||||
</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="xs_info qs_zx">
|
||||
<span class="iconfont icon-daoxu fs20 btn_cl_2 mt5"></span>
|
||||
<h2 class="br-b-1 fs14 btn_cl_2">
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn_cl_2">
|
||||
{$arrNovel.n_name}</a>
|
||||
章节列表
|
||||
</h2>
|
||||
<ul class="ph_list">
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter"
|
||||
cache_life="3600"}
|
||||
<li class="br-b-1">
|
||||
{if !empty($arrGrm[$d_key])}
|
||||
{$arrGrm[$d_key]|raw}
|
||||
{/if}
|
||||
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
|
||||
class="s">
|
||||
{$Chapter.c_name}
|
||||
</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<a class="btn-normal abt3"
|
||||
href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>查看更多章节...</a>
|
||||
</div>
|
||||
|
||||
<div class="index_qb fmtj">
|
||||
<div class="tl t1">
|
||||
<span>完结小说推荐</span>
|
||||
<i>{$DomainModel->d_domain}</i>
|
||||
</div>
|
||||
{novel:list count="30" sort_type="tuijian" n_category="$arrNovel.n_category_pinyin" d_key="key" d_val="Novel" cache_life="3600"}
|
||||
|
||||
{include file="public/novelListH" start="31"/}
|
||||
|
||||
{/novel:list}
|
||||
</div>
|
||||
<div class="xs_phb zxgx">
|
||||
<span class="iconfont icon-gengxin btn_cl_1"></span>
|
||||
<i>{$DomainModel->d_domain}</i>
|
||||
<h2 class="btn_cl_1">最新更新</h2>
|
||||
<ul class="ph_list">
|
||||
{novel:list count="30" sort_type="update" n_category="$arrNovel.n_category_pinyin" d_key="key" d_val="Novel" cache_life="3600"}
|
||||
{include file="public/novelListS" start="0"/}
|
||||
{/novel:list}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="info_btn mt10">
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}' class="a1">
|
||||
<span class="iconfont icon-mulu1 fs14" title="{$arrNovel.n_name}全文目录"></span>
|
||||
章节目录
|
||||
</a>
|
||||
<a href="javascript:addBookshelfFun()" class="a2 sj">
|
||||
<span class="iconfont icon-shoucang1" title="收藏{$arrNovel.n_name}"></span>
|
||||
加入书架
|
||||
</a>
|
||||
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'
|
||||
class="a3">
|
||||
<span class="iconfont icon-yuedu1" title="{$arrNovel.n_name}全文免费阅读"></span>
|
||||
立即阅读
|
||||
</a>
|
||||
</div>
|
||||
<div style="height:60px"></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id': `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path': `{$arrNovel['n_cover_path']}`,
|
||||
'n_name': `{$arrNovel['n_name']}`,
|
||||
'n_author': `{$arrNovel['n_author']}`,
|
||||
'n_status': `{$arrNovel['n_status']}`,
|
||||
'n_update_time': `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num': 1,
|
||||
'c_name': `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="footer-js"}
|
||||
|
||||
{/block}
|
||||
@@ -2,23 +2,48 @@
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{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="$Request.route.intForgeId" /}
|
||||
{else}
|
||||
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
|
||||
{/if}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{if empty($Request.route.intForgeId)}
|
||||
{site:grm page_code="novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
||||
{else}
|
||||
{site:grm page_code="novel_info" diff="$Request.route.intForgeId" num="120" g_key="arrGrm" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}{/block}
|
||||
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}{/block}
|
||||
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}{/block}
|
||||
{block name="title"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@TITLE"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="keywords"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@KEYWORDS"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name="description"}
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
{site:replace code="INDEX@INDEX@DESCRIPTION"}
|
||||
{else}
|
||||
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="head"}
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta property="og:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
|
||||
<meta property="og:type" content="book" />
|
||||
@@ -37,8 +62,13 @@
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
|
||||
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta name="twitter:description"
|
||||
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
|
||||
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
@@ -71,10 +101,9 @@
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
{block name="head-css"}
|
||||
<link rel="canonical"
|
||||
href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{/block}
|
||||
|
||||
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2>
|
||||
<a href="{$strPcPath}/">
|
||||
@@ -82,190 +111,182 @@
|
||||
</a>
|
||||
</h2>
|
||||
{/block}
|
||||
{block name="main"}
|
||||
<div class="content">
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="{$strPcPath}/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href="{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1" itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="info">
|
||||
<div class="info_box">
|
||||
<div class="info_L">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
title="{$arrNovel['n_name']}" class="book_cov">
|
||||
<img src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}"
|
||||
alt="{$Novel->n_name ?? ''}封面" class="lazyload_book_cover lazyload-img">
|
||||
<i class="serial">{$arrNovel.n_status ?? ''}</i>
|
||||
</a>
|
||||
<div class="btn">
|
||||
<a href="javascript:;" class="sc" onclick="addBookshelfFun()">
|
||||
<s></s>
|
||||
<p>加入书架</p>
|
||||
{block name="strPageCode"}
|
||||
<?php $strPageCode = 'info'; ?>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
|
||||
<div class="wp mt30 ov">
|
||||
|
||||
<div class="info_dv1 ov">
|
||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="{$strPcPath}/" itemprop="item">
|
||||
<span itemprop="name">首页</span>
|
||||
</a>
|
||||
<a href="javascript:;" class="xh"><s></s>我喜欢</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info_C book_inf">
|
||||
<div class="c01">
|
||||
<h3><a
|
||||
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel['n_name']}</a>
|
||||
</h3>
|
||||
<!-- <span id="mod_book_star">0分</span> -->
|
||||
</div>
|
||||
<p class="c02">
|
||||
<span class="zz">作者:{$arrNovel.n_author}</span>
|
||||
<span>创建日期:{$arrNovel.n_update_time}</span>
|
||||
</p>
|
||||
<div class="c03">
|
||||
<p class="jianjie">简介</p>
|
||||
<div class="c03_box">
|
||||
<p class="jj_con" id="book_desc">
|
||||
{$arrNovel.n_description}</p>
|
||||
<span class="zk_btn" style="">展开<s></s></span>
|
||||
<span class="sq_btn" style="display: none;">收起<s></s></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="c03 c03-jjyd">
|
||||
<p class="jianjie">最新要点</p>
|
||||
<div class="c03_box">
|
||||
<p class="jj_con" id="book_desc2">
|
||||
{$strFocus}</p>
|
||||
<span class="zk_btn" style="">展开<s></s></span>
|
||||
<span class="sq_btn" style="display: none;">收起<s></s></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="c04">
|
||||
{if !empty($arrChapter)}
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/zhang-1" class="read">立即阅读</a>
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/mulu/zheng" class="mulu">目录</a>
|
||||
{/if}
|
||||
</div>
|
||||
<!-- <div class="c05">
|
||||
<p class="c05_t">作品标签:
|
||||
<a href="#" class="red">打发十分</a>
|
||||
|
||||
|
||||
</p>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="info_R">
|
||||
<div class="inf02">
|
||||
<h4>小说信息</h4>
|
||||
<p>类别:
|
||||
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
|
||||
<a href='{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1' title="{$arrNovel.n_category}">
|
||||
{$arrNovel.n_category}
|
||||
<meta itemprop="position" content="1" />
|
||||
</li>
|
||||
<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"/}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="2" />
|
||||
</li>
|
||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
itemprop="item">
|
||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||
</a>
|
||||
<meta itemprop="position" content="3" />
|
||||
</li>
|
||||
</ol>
|
||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} -
|
||||
{$DomainModel->d_name}</h1>
|
||||
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
|
||||
<h4 class="site-description ">{$DomainModel->d_index_description}</h4>
|
||||
{/if}
|
||||
</nav>
|
||||
|
||||
<div class="intro">
|
||||
<div class="img z">
|
||||
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazyload-img" />
|
||||
</div>
|
||||
<div class="details z">
|
||||
<h2>{$arrNovel['n_name']}</h2>
|
||||
<p class="p">
|
||||
<i>
|
||||
作者:<a href='{$strPcPath}{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a>
|
||||
</i>
|
||||
<i>更新时间:{$arrNovel.n_update_time}</i>
|
||||
</p>
|
||||
<!-- <p>总字数:54.20万+</p> -->
|
||||
<p>总点击量:{$arrNovelClicks.total}</p>
|
||||
<p>月点击量:{$arrNovelClicks.monthly}</p>
|
||||
<p>周点击量:{$arrNovelClicks.weekly}</p>
|
||||
<p>日点击量:{$arrNovelClicks.daily}</p>
|
||||
<!-- <p>收藏:0</p> -->
|
||||
<p class="p2">
|
||||
{$arrNovel.n_description ?? ''}
|
||||
</p>
|
||||
</div>
|
||||
<div class="btn_dv1 y">
|
||||
<i class="sj">
|
||||
<a rel="nofollow" href="javascript:addBookshelfFun();">
|
||||
<span class="ico ico-bookshelf"></span>
|
||||
加入书架
|
||||
</a>
|
||||
</i>
|
||||
<i class="sj">
|
||||
<a
|
||||
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>
|
||||
<span class="ico ico-mulu"></span>
|
||||
章节目录
|
||||
</a>
|
||||
</i>
|
||||
<i class="sj sj2">
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
|
||||
<span class="ico ico-yuedu"></span>
|
||||
立即阅读
|
||||
</a>
|
||||
</i>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="info_dv2 mt10">
|
||||
<div class="title">《{$arrNovel['n_name']}》第245章 全文完</div>
|
||||
<div class="first_txt">
|
||||
<p>{$arrNovel.strFocus}</p>
|
||||
{php}
|
||||
$arrRandomForgeNovels = [];
|
||||
if (isset($arrNovel['n_forge_novel']) && is_array($arrNovel['n_forge_novel'])) {
|
||||
$forgeNovels = $arrNovel['n_forge_novel'];
|
||||
if (count($forgeNovels) > 10) {
|
||||
$randomKeys = array_rand($forgeNovels, 10);
|
||||
$arrRandomForgeNovels = array_intersect_key($forgeNovels, array_flip($randomKeys));
|
||||
} else {
|
||||
$arrRandomForgeNovels = $forgeNovels;
|
||||
shuffle($arrRandomForgeNovels);
|
||||
}
|
||||
$arrRandomForgeNovels = array_values($arrRandomForgeNovels);
|
||||
}
|
||||
{/php}
|
||||
|
||||
<div class="info2">
|
||||
<div class="info2_L sjxq">
|
||||
<div class="gxzj">
|
||||
<div class="pl_tit">
|
||||
<h2>最新章节</h2>
|
||||
</div>
|
||||
<div class="zj_con">
|
||||
{volist name="arrChapter" id="Chapter" key="key"}
|
||||
<p>
|
||||
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$Chapter.n_id}/zhang-{$Chapter.c_sort_num}"
|
||||
class="zj">{$Chapter.c_name}</a>
|
||||
<span class="time">{$Chapter.created_at ?? '1天前'}</span>
|
||||
<!-- <span class="time">3天前</span>-->
|
||||
</p>
|
||||
<p class="zw" style="max-height: 98px; overflow: hidden;"></p>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
<div class="pl_tit">
|
||||
<h2>相邻推荐:</h2>
|
||||
</div>
|
||||
<div class="pl_con">
|
||||
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
||||
<!-- n_forge_id -->
|
||||
<a href='{$strPcPath}/kan-xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'
|
||||
class="red">{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
|
||||
</div>
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
{if !empty($arrGrm[$key])}
|
||||
{$arrGrm[$key]|raw}
|
||||
{/if}
|
||||
<a
|
||||
href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
|
||||
class="red">{$ForgeNovel.n_forge_title}</a>
|
||||
{/volist}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="info2_R">
|
||||
<div class="fsph">
|
||||
<h4><s></s>精品推荐</h4>
|
||||
<ul class="info2_C">
|
||||
{volist name="arrRelateveNovel" id="Novel" key="key"}
|
||||
<li>
|
||||
<h3>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
|
||||
title="{$Novel['n_name'] ?? ''}">
|
||||
{$Novel['n_name'] ?? ''}
|
||||
</a>
|
||||
</h3>
|
||||
<div>
|
||||
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
|
||||
title="$Novel['n_name'] ?? ''}" class="book_cov">
|
||||
<img src="/template/kuangyu/home/bai_web/images/default.png"
|
||||
data-src="{$Novel['n_cover_path'] ?? ''}" class="lazyload_book_cover lazyload-img"
|
||||
alt="{$Novel['n_name'] ?? ''}">
|
||||
</a>
|
||||
<div class="book_inf">
|
||||
<span class="aut">{$Novel['n_author'] ?? ''}</span>
|
||||
<span class="tag"><a href="/">{$Novel['n_category'] ?? ''}</a></span>
|
||||
<p class="int">
|
||||
{$Novel['n_description'] ?? ''}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{/volist}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info_dv3 mt10">
|
||||
<div class="title">《{$arrNovel['n_name']}》最新章节</div>
|
||||
<ul class="section-list">
|
||||
{chapter:list count="12" sort_type="dao" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter"
|
||||
cache_life="3600"}
|
||||
{if !empty($arrGrm[$key + 12])}
|
||||
{$arrGrm[$key + 12]|raw}
|
||||
{/if}
|
||||
<li>
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>
|
||||
{$Chapter.c_name}
|
||||
</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="info_dv3 mt10">
|
||||
<div class="title">《{$arrNovel['n_name']}》章节列表</div>
|
||||
<ul class="section-list">
|
||||
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter"
|
||||
cache_life="3600"}
|
||||
{if !empty($arrGrm[$key + 25])}
|
||||
{$arrGrm[$key + 25]|raw}
|
||||
{/if}
|
||||
<li>
|
||||
<a
|
||||
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>
|
||||
{$Chapter.c_name}
|
||||
</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
</ul>
|
||||
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="btn-mulu">查看更多章节...</a>
|
||||
</div>
|
||||
<div class="phb_fm mt10">
|
||||
<div class="phb_title">
|
||||
<b>热门小说推荐</b>
|
||||
</div>
|
||||
{novel:list count="36" sort_type="tuijian" d_key="key" d_val="Novel" p_val="page_data"
|
||||
cache_life="3600"}
|
||||
{include file="pc/public/hostListImg" start="50"/}
|
||||
{/novel:list}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const strNovelId = `{$arrNovel.n_id}`;
|
||||
const arrNovel = {
|
||||
'n_id' : `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||
'n_name' : `{$arrNovel['n_name']}`,
|
||||
'n_author' : `{$arrNovel['n_author']}`,
|
||||
'n_status' : `{$arrNovel['n_status']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
const arrNovel = {
|
||||
'n_id': `{$arrNovel['n_id']}`,
|
||||
'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
|
||||
'n_cover_path': `{$arrNovel['n_cover_path']}`,
|
||||
'n_name': `{$arrNovel['n_name']}`,
|
||||
'n_author': `{$arrNovel['n_author']}`,
|
||||
'n_status': `{$arrNovel['n_status']}`,
|
||||
'n_update_time': `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num': 1,
|
||||
'c_name': `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
|
||||
@@ -408,6 +408,7 @@ resData = [
|
||||
</li>
|
||||
{/novel:ranklist}
|
||||
|
||||
|
||||
# 15、 获取随机伪造小说列表并且遍历
|
||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||
$count ?? '10'; # 查询条数
|
||||
|
||||
Reference in New Issue
Block a user