修改小说伪造小说详情页面 取消伪造列表随机
This commit is contained in:
320
code/app/home/view/default/novel/getKanNovelInfo-back.html
Normal file
320
code/app/home/view/default/novel/getKanNovelInfo-back.html
Normal file
@@ -0,0 +1,320 @@
|
||||
$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'];
|
||||
$count = count($forgeNovels);
|
||||
if ($count > 0) {
|
||||
$randomKeys = array_rand($forgeNovels, min(10, $count));
|
||||
foreach ((array) $randomKeys as $key) {
|
||||
$arrRandomForgeNovels[] = $forgeNovels[$key];
|
||||
}
|
||||
}
|
||||
}
|
||||
{/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}
|
||||
@@ -275,21 +275,7 @@ $Novel.n_id{extend name="baseH5" /}
|
||||
<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'];
|
||||
$count = count($forgeNovels);
|
||||
if ($count > 0) {
|
||||
$randomKeys = array_rand($forgeNovels, min(10, $count));
|
||||
foreach ((array) $randomKeys as $key) {
|
||||
$arrRandomForgeNovels[] = $forgeNovels[$key];
|
||||
}
|
||||
}
|
||||
}
|
||||
{/php}
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
{volist name='arrNovel.n_forge_novel' 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}
|
||||
|
||||
287
code/app/home/view/default/pc/getKanNovelInfo-back.html
Normal file
287
code/app/home/view/default/pc/getKanNovelInfo-back.html
Normal file
@@ -0,0 +1,287 @@
|
||||
{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'];
|
||||
$count = count($forgeNovels);
|
||||
if ($count > 0) {
|
||||
$randomKeys = array_rand($forgeNovels, min(10, $count));
|
||||
foreach ((array) $randomKeys as $key) {
|
||||
$arrRandomForgeNovels[] = $forgeNovels[$key];
|
||||
}
|
||||
}
|
||||
}
|
||||
{/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}
|
||||
@@ -167,21 +167,8 @@
|
||||
{$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'];
|
||||
$count = count($forgeNovels);
|
||||
if ($count > 0) {
|
||||
$randomKeys = array_rand($forgeNovels, min(10, $count));
|
||||
foreach ((array) $randomKeys as $key) {
|
||||
$arrRandomForgeNovels[] = $forgeNovels[$key];
|
||||
}
|
||||
}
|
||||
}
|
||||
{/php}
|
||||
|
||||
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
|
||||
|
||||
{volist name='arrNovel.n_forge_novel' id='ForgeNovel' key="key"}
|
||||
{if !empty($arrGrm[$key+20])}
|
||||
{$arrGrm[$key+20]|raw}
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user