修改小说伪造小说详情页面 取消伪造列表随机

This commit is contained in:
make
2025-07-31 02:02:32 +08:00
parent 95dd6cea8a
commit f115c7f480
17 changed files with 3003 additions and 240 deletions

View File

@@ -0,0 +1,266 @@
{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" 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}{$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" 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",
},
}
</script>
{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{block name="strPageCode"}
<?php $strPageCode = 'info'; ?>
{/block}
{block name="main"}
<?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}{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a>
&nbsp;&nbsp;&nbsp;&nbsp;状态:{$arrNovel.n_status}
</p>
<p>
分类:其他小说 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a rel="nofollow"
href="javascript:addBookshelfFun();">加入书架</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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'];
$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='{$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>&nbsp;&nbsp;
{/volist}
</div>
</div>
<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>
{/chapter:list}
<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}》全部章节列表">
&gt;&gt;&nbsp;查看《{$arrNovel.n_name}》更多章节列表
&nbsp;&lt;&lt;</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>&nbsp;&nbsp;
{/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>&nbsp;&nbsp;
{/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_update_time': `{$arrNovel['n_update_time']}`,
'c_sort_num': 1,
'c_name': `第一章`,
};
</script>
{/block}
{block name="customize"}
{/block}
{block name="footer-js"}
<script src="/template/kuangyu/home/bai_web/js/global.js"></script>
<script>
</script>
{/block}

View File

@@ -14,27 +14,27 @@
{/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}
{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}
{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}
{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}
@@ -130,7 +130,8 @@
<p>
分类:其他小说 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a rel="nofollow"
href="javascript:addBookshelfFun();">加入书架</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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"
@@ -139,32 +140,19 @@
<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'];
$count = count($forgeNovels);
if ($count > 0) {
$randomKeys = array_rand($forgeNovels, min(10, $count));
foreach ((array) $randomKeys as $key) {
$arrRandomForgeNovels[] = $forgeNovels[$key];
}
}
}
{/php}
{$arrNovel.n_description ?? ''}<br />
{volist name='arrRandomForgeNovels' id='ForgeNovel' key="key"}
{volist name='arrNovel.n_forge_novel' 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>&nbsp;&nbsp;
{/volist}
</div>
</div>
<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"
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img"
width="120" height="150" />
</div>
</div>
@@ -177,7 +165,7 @@
cache_life="3600"}
<dd>
{if !empty($arrGrm[$key])}
{$arrGrm[$key]|raw}
{$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"/}'>
@@ -194,7 +182,7 @@
cache_life="3600"}
<dd>
{if !empty($arrGrm[$key + 12])}
{$arrGrm[$key + 12]|raw}
{$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"/}'>
@@ -216,27 +204,27 @@
</div>
<div class="hotbook"></div>
{if $DomainModel->info_id == $Request.route.intNovelId || empty($Request.route.intNovelId)}
<p>{$DomainModel->d_index_description}</p>
<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>&nbsp;&nbsp;
{/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"
<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>&nbsp;&nbsp;
{/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>&nbsp;&nbsp;
{/novel:list}
</div>
</div>
</div>
</div>
<script>
const strNovelId = `{$arrNovel.n_id}`;