h5 head 检查
This commit is contained in:
@@ -92,12 +92,7 @@ class Index extends BaseController
|
|||||||
|
|
||||||
// 推荐等级为9的连载的 随机15个小说
|
// 推荐等级为9的连载的 随机15个小说
|
||||||
$arrRecommendSerializationNovel = $NovelModel->getHighLevelNovelOnCache($Request->DomainModel->d_domain, 13);
|
$arrRecommendSerializationNovel = $NovelModel->getHighLevelNovelOnCache($Request->DomainModel->d_domain, 13);
|
||||||
# TODO 没有数据展示
|
|
||||||
# FIXED BY 2025年4月6日
|
|
||||||
// echo "<pre>";
|
|
||||||
// var_dump($arrRecommendSerializationNovel);
|
|
||||||
// exit;
|
|
||||||
|
|
||||||
// 推荐等级为9的完结的 随机12个小说
|
// 推荐等级为9的完结的 随机12个小说
|
||||||
$arrRecommendEndNovel = $NovelModel->getFinishedNovelOnCache($Request->DomainModel->d_domain, 12);
|
$arrRecommendEndNovel = $NovelModel->getFinishedNovelOnCache($Request->DomainModel->d_domain, 12);
|
||||||
|
|
||||||
|
|||||||
@@ -145,7 +145,6 @@ class Novel extends BaseController
|
|||||||
|
|
||||||
$strSearchStatus = $arrStatus[$strStatus];
|
$strSearchStatus = $arrStatus[$strStatus];
|
||||||
|
|
||||||
|
|
||||||
$intPage = (int)$Request->param('intPage');
|
$intPage = (int)$Request->param('intPage');
|
||||||
if ($intPage <= 1) {
|
if ($intPage <= 1) {
|
||||||
$intPage = 1;
|
$intPage = 1;
|
||||||
@@ -155,11 +154,9 @@ class Novel extends BaseController
|
|||||||
|
|
||||||
$strKey = sprintf("Novel:Library:%s:%s:%s:%s", $intGender, $strSearchCategory, $strSearchStatus, $intPage);
|
$strKey = sprintf("Novel:Library:%s:%s:%s:%s", $intGender, $strSearchCategory, $strSearchStatus, $intPage);
|
||||||
|
|
||||||
|
|
||||||
$NovelModel = new NovelModel;
|
$NovelModel = new NovelModel;
|
||||||
$arrPage = $NovelModel->getCustomPage01($strKey, $intPage, $intLimit, $intLifeTime, $intGender, $strSearchStatus);
|
$arrPage = $NovelModel->getCustomPage01($strKey, $intPage, $intLimit, $intLifeTime, $intGender, $strSearchStatus);
|
||||||
|
|
||||||
|
|
||||||
$strTemplate = '';
|
$strTemplate = '';
|
||||||
$intButtomNum = 5;
|
$intButtomNum = 5;
|
||||||
if ($boolIsMobile == false) {
|
if ($boolIsMobile == false) {
|
||||||
@@ -170,17 +167,13 @@ class Novel extends BaseController
|
|||||||
$strBaseUrl = sprintf('/shuku/%s/%s/%s/page{page}', $strGender, $strCategory, $strStatus);
|
$strBaseUrl = sprintf('/shuku/%s/%s/%s/page{page}', $strGender, $strCategory, $strStatus);
|
||||||
$arrPaginator = CusteomPage02::generate($intPage, $arrPage['total'], $intLimit, $strBaseUrl, $intButtomNum);
|
$arrPaginator = CusteomPage02::generate($intPage, $arrPage['total'], $intLimit, $strBaseUrl, $intButtomNum);
|
||||||
|
|
||||||
// TODO 下面的值要处理成汉字 start
|
|
||||||
// FIXED 你直接说哪个变量原来是什么,要改成什么,下面的变量我看到你转了中文,然后你打标记需要我做啥呢?
|
|
||||||
|
|
||||||
// 更新值
|
// 更新值
|
||||||
ConverterMovel::setVal([
|
ConverterMovel::setVal([
|
||||||
'intPage' => $intPage,
|
'intPage' => $intPage,
|
||||||
'strNovelSex' => $arrSexChinese[$strGender], //汉字 男生或者女生
|
'strNovelSex' => $arrSexChinese[$strGender],
|
||||||
'strNovelCategoryName' => str_replace("小说", "", $strSearchCategory), // 小说分类名汉字 玄幻 都市 。。。 ; 注意不要带 小说 2字,tkd 会重复堆叠
|
'strNovelCategoryName' => str_replace("小说", "", $strSearchCategory),
|
||||||
'strNovelStatus' => $strSearchStatus, // 小说状态 汉字
|
'strNovelStatus' => $strSearchStatus,
|
||||||
]);
|
]);
|
||||||
// TODO end
|
|
||||||
|
|
||||||
// $strTitle = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__));
|
// $strTitle = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__));
|
||||||
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
|
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
|
||||||
@@ -199,12 +192,7 @@ class Novel extends BaseController
|
|||||||
'strStatus' => $strStatus,
|
'strStatus' => $strStatus,
|
||||||
'intPage' => $intPage,
|
'intPage' => $intPage,
|
||||||
'intTotalPage' => $arrPage['pages'],
|
'intTotalPage' => $arrPage['pages'],
|
||||||
// TODO 返回所有分类了,应该只返回对应 性别的分类,我暂时按下面的返回了,你看看需要改不 start
|
|
||||||
// FIXED 总分类,男生分类,女生分类 都已经在类里面了,怎么渲染都可以。当前的不知道怎么做,就不要猜着做,要么不做,要么按第三方权威数据去做
|
|
||||||
|
|
||||||
// 'arrCategory' => array_combine(array_values(CategoryModel::$arrCategoryPinYin), array_values(CategoryModel::$arrCategory)),
|
|
||||||
'arrCategoryAll' => CategoryModel::$arrCategoryAll,
|
'arrCategoryAll' => CategoryModel::$arrCategoryAll,
|
||||||
// TODO end
|
|
||||||
'arrPaginator' => $arrPaginator,
|
'arrPaginator' => $arrPaginator,
|
||||||
'strTitle' => $strTitle,
|
'strTitle' => $strTitle,
|
||||||
'strKeywords' => $strKeywords,
|
'strKeywords' => $strKeywords,
|
||||||
@@ -372,6 +360,9 @@ class Novel extends BaseController
|
|||||||
{
|
{
|
||||||
// TODO 这个页面数据没有处理
|
// TODO 这个页面数据没有处理
|
||||||
// FIXED 不要这样打标记好不好,沟通成本太高了,你直接标注缺少什么数据,什么数据有问题,什么数据需要转换
|
// FIXED 不要这样打标记好不好,沟通成本太高了,你直接标注缺少什么数据,什么数据有问题,什么数据需要转换
|
||||||
|
// TODO 这个是 kan 小说页面的控制器,是直接复制 小说详情的控制器,
|
||||||
|
// 1.从这个页面上看,这个应该展示 kan 小说的名字才对,目前 title 还是 小说的名字 ,
|
||||||
|
// $arrNovel['og_novel_book_name'] = kan 小说 的 名字
|
||||||
|
|
||||||
$intNId = $Request->param('n_id');
|
$intNId = $Request->param('n_id');
|
||||||
|
|
||||||
@@ -423,8 +414,7 @@ class Novel extends BaseController
|
|||||||
'strNovelName' => $arrNovel['og_novel_book_name'],
|
'strNovelName' => $arrNovel['og_novel_book_name'],
|
||||||
'strNovelAuthor' => $arrNovel['og_novel_author'],
|
'strNovelAuthor' => $arrNovel['og_novel_author'],
|
||||||
'strNovelCategoryName' => $arrNovel['og_novel_category'],
|
'strNovelCategoryName' => $arrNovel['og_novel_category'],
|
||||||
// 'strNovelSex' => '男生', // TODO 汉字 男生或者女生
|
'strNovelSex' => $arrNovel['category_sex'] == 'man' ? '男生' : '女生',
|
||||||
'strNovelSex' => $arrNovel['category_sex'], // FIXED 小说详情里有分类性能别字段
|
|
||||||
'strNovelStatus' => $arrNovel['og_novel_status'],
|
'strNovelStatus' => $arrNovel['og_novel_status'],
|
||||||
'strNovelDescription' => $arrNovel['n_page_description'],
|
'strNovelDescription' => $arrNovel['n_page_description'],
|
||||||
]);
|
]);
|
||||||
@@ -521,8 +511,7 @@ class Novel extends BaseController
|
|||||||
'strNovelName' => $arrNovel['og_novel_book_name'],
|
'strNovelName' => $arrNovel['og_novel_book_name'],
|
||||||
'strNovelAuthor' => $arrNovel['og_novel_author'],
|
'strNovelAuthor' => $arrNovel['og_novel_author'],
|
||||||
'strNovelCategoryName' => $arrNovel['og_novel_category'],
|
'strNovelCategoryName' => $arrNovel['og_novel_category'],
|
||||||
// 'strNovelSex' => '男生', // TODO 汉字 男生或者女生
|
'strNovelSex' => $arrNovel['category_sex'] == 'man' ? '男生' : '女生',
|
||||||
'strNovelSex' => $arrNovel['category_sex'], // FIXED 小说详情里有分类性能别字段
|
|
||||||
'strNovelStatus' => $arrNovel['og_novel_status'],
|
'strNovelStatus' => $arrNovel['og_novel_status'],
|
||||||
'strNovelDescription' => $arrNovel['n_page_description'],
|
'strNovelDescription' => $arrNovel['n_page_description'],
|
||||||
]);
|
]);
|
||||||
@@ -765,8 +754,7 @@ class Novel extends BaseController
|
|||||||
// 更新值
|
// 更新值
|
||||||
ConverterMovel::setVal([
|
ConverterMovel::setVal([
|
||||||
'intPage' => $intPage,
|
'intPage' => $intPage,
|
||||||
// 'strNovelSex' => '男生', // TODO 汉字 男生或者女生
|
'strNovelSex' => $arrNovel['category_sex'] == 'man' ? '男生' : '女生',
|
||||||
'strNovelSex' => $arrNovel['category_sex'], // FIXED 小说详情里有分类性能别字段
|
|
||||||
'strNovelName' => $arrNovel['og_novel_book_name'],
|
'strNovelName' => $arrNovel['og_novel_book_name'],
|
||||||
'strNovelAuthor' => $arrNovel['og_novel_author'],
|
'strNovelAuthor' => $arrNovel['og_novel_author'],
|
||||||
'strNovelCategoryName' => $arrNovel['og_novel_category'],
|
'strNovelCategoryName' => $arrNovel['og_novel_category'],
|
||||||
@@ -843,15 +831,10 @@ class Novel extends BaseController
|
|||||||
// 更新值
|
// 更新值
|
||||||
ConverterMovel::setVal([
|
ConverterMovel::setVal([
|
||||||
'intPage' => $intPage,
|
'intPage' => $intPage,
|
||||||
'strNovelSex' => '男生', // TODO 汉字 男生或者女生 // 取搜所的第一个小说的男生或者女生
|
|
||||||
// FIXED 那没有小说显示什么? 如果9篇男生1篇女生,显示什么,你这个有没有通过第三方AI验证的?
|
|
||||||
'strSearchKeywords' => $strSearchKeywords,
|
'strSearchKeywords' => $strSearchKeywords,
|
||||||
'strNovelCategoryName' => '玄幻', // TODO 取搜所的第一个小说的分类 汉字(不带小说2字)
|
|
||||||
// FIXED 那没有小说显示什么? 如果9篇男生1篇女生,显示什么,你这个有没有通过第三方AI验证的?
|
|
||||||
'strNovelStatus' => '完结', // TODO 取搜所的第一个小说的状态
|
|
||||||
// FIXED 那没有小说显示什么? 如果9篇男生1篇女生,显示什么,你这个有没有通过第三方AI验证的?
|
|
||||||
|
|
||||||
// FIXED 如果不知道怎么做,就不要用这个模板,你现在太过依赖这个模板,这个模板如果是一个刚毕业的大学生的垃圾论文项目,你也被他的四维锁死?
|
// FIXED 如果不知道怎么做,就不要用这个模板,你现在太过依赖这个模板,这个模板如果是一个刚毕业的大学生的垃圾论文项目,你也被他的四维锁死?
|
||||||
|
// 这个和模板没有关系, 昨天 grok 使用超限制了,使用you.com 提供的 tkd 设计,它设计的 tkd模板 需要的 字段比较多,那几个 性别 和 分类 放在搜索是不太合理
|
||||||
|
// 现在改了,使用grok 设计的 ,ai 记录在 app/home/view/kuangyu/推广SEO过程设计记录/TKD/搜索页Tkd.md
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
|
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
|
||||||
|
|||||||
@@ -1,6 +1,24 @@
|
|||||||
{extend name="baseH5" /}
|
{extend name="baseH5" /}
|
||||||
{block name='nav-active-class'}home{/block}
|
{block name="title"}{$strTitle??''}{/block}
|
||||||
{block name="title"}{/block}
|
{block name="keywords"}{$strKeywords??''}{/block}
|
||||||
|
{block name="description"}{$strDescription??''}{/block}
|
||||||
|
{block name="head"}
|
||||||
|
<!-- 社交媒体标签 -->
|
||||||
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
|
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||||
|
<meta property="og:type" content="book" />
|
||||||
|
<!-- 结构化数据 -->
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://{$DomainModel->d_domain}",
|
||||||
|
"@type": "book",
|
||||||
|
"headline": "{$strTitle??''}",
|
||||||
|
"description": "{$strDescription??''}",
|
||||||
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
|
|||||||
@@ -6,18 +6,19 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{Request->DomainModel->d_domain}" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "{$DomainModel->d_domain}",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
|
|||||||
@@ -6,18 +6,19 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{Request->DomainModel->d_domain}" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "{$DomainModel->d_domain}",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
|
|||||||
@@ -4,20 +4,58 @@
|
|||||||
{block name="description"}{$strDescription??''}{/block}
|
{block name="description"}{$strDescription??''}{/block}
|
||||||
{block name="head"}
|
{block name="head"}
|
||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url"
|
||||||
<meta property="og:type" content="article" />
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
|
<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.og_novel_category ?? ''}">
|
||||||
|
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
|
||||||
|
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
|
||||||
|
<meta property="og:novel:read_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1">
|
||||||
|
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
|
||||||
|
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
|
||||||
|
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}">
|
||||||
|
<meta property="og:novel:latest_chapter_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrLatestChapter.c_sort_num ?? 1}">
|
||||||
|
<!-- 可选:支持 Twitter Card -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
|
||||||
|
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" />
|
||||||
|
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
"@type": "NewsArticle",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
||||||
"datePublished": "2025-04-05"
|
"author": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{$arrNovel['og_novel_author'] ??'佚名'}"
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "{$DomainModel->d_name}",
|
||||||
|
"url": "https://{$DomainModel->d_domain}"
|
||||||
|
},
|
||||||
|
"datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}",
|
||||||
|
"image": "{$Novel.n_cover_path ?? ''}",
|
||||||
|
"url": '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
|
"genre": "{$arrNovel.og_novel_category ??''}",
|
||||||
|
"inLanguage": "zh-CN",
|
||||||
|
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||||
|
"aggregateRating": {
|
||||||
|
"@type": "AggregateRating",
|
||||||
|
"ratingValue": "4.5",
|
||||||
|
"reviewCount": "100",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
@@ -145,7 +183,16 @@
|
|||||||
<div class="book-slide">
|
<div class="book-slide">
|
||||||
<ul class="clearfix">
|
<ul class="clearfix">
|
||||||
{foreach $arrRelateveNovel as $Novel}
|
{foreach $arrRelateveNovel as $Novel}
|
||||||
{include file="Public/novelListS" /}
|
<li>
|
||||||
|
<a href='{site:nurl n_id="Novel.n_id" n_py="Novel.og_novel_pin_yin"/}'>
|
||||||
|
<img class="lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg"
|
||||||
|
data-src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.og_novel_book_name ?? ''}" />
|
||||||
|
<span>{$Novel.og_novel_book_name ?? ''}</span>
|
||||||
|
<em>
|
||||||
|
<aria>作者:</aria>{$Novel.og_novel_author ?? ''}
|
||||||
|
</em>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,18 +6,37 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/all" />
|
||||||
|
{else}
|
||||||
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}" />
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
<meta property="og:type" content="book" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
|
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/shuku/all",
|
||||||
"@type": "NewsArticle",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{else}
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}",
|
||||||
|
"@type": "book",
|
||||||
|
"headline": "{$strTitle??''}",
|
||||||
|
"description": "{$strDescription??''}",
|
||||||
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
|
|||||||
@@ -6,18 +6,19 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="book" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }",
|
||||||
"@type": "NewsArticle",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html lang="zh-CN">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="robots" content="index, follow" />
|
<meta name="robots" content="index, follow" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<meta http-equiv="Cache-Control" content="no-transform, max-age=3600" />
|
<meta http-equiv="Cache-Control" content="no-transform, max-age=3600" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
||||||
|
<meta name="applicable-device" content="mobile" />
|
||||||
<meta name="keywords" content="{$strKeywords??''}">
|
<meta name="keywords" content="{$strKeywords??''}">
|
||||||
<meta name="description" content="{$strDescription??''}">
|
<meta name="description" content="{$strDescription??''}">
|
||||||
<title>{$strTitle??''}</title>
|
<title>{$strTitle??''}</title>
|
||||||
@@ -16,6 +18,62 @@
|
|||||||
<link rel="stylesheet" href="/public/layer/need/layer.css" type="text/css">
|
<link rel="stylesheet" href="/public/layer/need/layer.css" type="text/css">
|
||||||
<!-- <script src="/public/jquery/jquery-3.7.1.min.js"></script> -->
|
<!-- <script src="/public/jquery/jquery-3.7.1.min.js"></script> -->
|
||||||
|
|
||||||
|
<!-- 社交媒体标签 -->
|
||||||
|
<meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'}" />
|
||||||
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
|
<meta property="og:url"
|
||||||
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
|
<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.og_novel_category ?? ''}">
|
||||||
|
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
|
||||||
|
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
|
||||||
|
<meta property="og:novel:read_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrChapter.n_id}/zhang-1">
|
||||||
|
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
|
||||||
|
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
|
||||||
|
<meta property="og:novel:latest_chapter_name" content="{$arrChapter.name}">
|
||||||
|
<meta property="og:novel:latest_chapter_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrChapter.n_id}/zhang-{$arrChapter.c_sort_num}">
|
||||||
|
<!-- 可选:支持 Twitter Card -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
|
||||||
|
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" />
|
||||||
|
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
|
<!-- 结构化数据 -->
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://{$DomainModel->d_domain}",
|
||||||
|
"@type": "book",
|
||||||
|
"headline": "{$strTitle??''}",
|
||||||
|
"description": "{$strDescription??''}",
|
||||||
|
"datePublished": "{$arrNovel.og_novel_update_time ?? ''}",
|
||||||
|
"author": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{$arrNovel['og_novel_author'] ??'佚名'}"
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "{$DomainModel->d_name}",
|
||||||
|
"url": "https://{$DomainModel->d_domain}"
|
||||||
|
},
|
||||||
|
"image": "{$Novel.n_cover_path ?? ''}",
|
||||||
|
"mainEntityOfPage": {
|
||||||
|
"@type": "WebPage",
|
||||||
|
"@id": "https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}"
|
||||||
|
}
|
||||||
|
"isPartOf": {
|
||||||
|
"@type": "Book",
|
||||||
|
"name": "《{$arrNovel['og_novel_book_name'] ?? '未知小说'}》",
|
||||||
|
"url": '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="skin-default">
|
<body class="skin-default">
|
||||||
@@ -246,34 +304,50 @@
|
|||||||
<script type="text/javascript" src="/template/kuangyu/reader/wap/js/zepto.min.js"></script>
|
<script type="text/javascript" src="/template/kuangyu/reader/wap/js/zepto.min.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript" src="/template/kuangyu/reader/wap/js/reader.js"></script>
|
<script type="text/javascript" src="/template/kuangyu/reader/wap/js/reader.js"></script>
|
||||||
<script type="text/javascript">
|
|
||||||
const strNovelId = '{$arrNovel.n_id}';
|
<script>
|
||||||
var book = {};
|
const strPushApi = `{site:cfg code="PUSH_API_DOMAIN" encode="false"/}`;
|
||||||
//书信息
|
</script>
|
||||||
book.Info = {
|
<script>
|
||||||
"Id": 332,
|
const strNovelId = `{$arrNovel.n_id}`;
|
||||||
"Name": '我真是一条龙',
|
const arrNovel = {
|
||||||
"authorName": '兔子很淡定'
|
'n_id' : `{$arrNovel['n_id']}`,
|
||||||
|
'og_novel_pin_yin' : `{$arrNovel['og_novel_pin_yin']}`,
|
||||||
|
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||||
|
'og_novel_book_name' : `{$arrNovel['og_novel_book_name']}`,
|
||||||
|
'og_novel_author' : `{$arrNovel['og_novel_author']}`,
|
||||||
|
'og_novel_status' : `{$arrNovel['og_novel_status']}`,
|
||||||
|
'c_sort_num' : `{$arrChapter.c_sort_num}`,
|
||||||
|
'c_name' : `{$arrChapter.name}`,
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var book = {};
|
||||||
|
book.Info = {
|
||||||
|
"Id": `{$arrNovel['n_id']}`,
|
||||||
|
"Name": `{$arrNovel['og_novel_book_name']}`,
|
||||||
|
"authorName": `{$arrNovel['og_novel_author']}`
|
||||||
};
|
};
|
||||||
//页面初始化章节信息
|
|
||||||
book.chapter = {
|
book.chapter = {
|
||||||
//页面进入加载的章节id
|
//页面进入加载的章节id
|
||||||
source_id: 12538,
|
id: '{$arrPreChapter.c_sort_num ?? 1}',
|
||||||
id: '4b2d5aab58d71',
|
//章节源id
|
||||||
title: '01 天龙问世',
|
source_id: '{$arrPreChapter.c_sort_num ?? 1}',
|
||||||
|
title: '{$arrPreChapter.name ?? 1}',
|
||||||
content: '',
|
content: '',
|
||||||
//章节vip标识
|
//章节vip标识
|
||||||
vipStatus: 0,
|
vipStatus: 0,
|
||||||
//上一章id
|
//上一章id
|
||||||
prevId: '',
|
prevId: '{$arrPreChapter.c_sort_num ?? 1}',
|
||||||
//下一章id
|
//下一章id
|
||||||
nextId: '486ef2abee55d'
|
nextId: '{$arrNextChapter.c_sort_num ?? 1}'
|
||||||
};
|
};
|
||||||
book.chapterUrl = '/book/12538/chapterId.html';
|
book.chapterUrl = '/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrPreChapter.c_sort_num ?? 1}';
|
||||||
book.url = '/novel/332.html'
|
book.url = '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'
|
||||||
book.nextChapterVip = 0;
|
book.nextChapterVip = 0;
|
||||||
book.uid = 0;
|
book.uid = 0;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="/public/layer/layer.min.js"></script>
|
<script src="/public/layer/layer.min.js"></script>
|
||||||
<script src="/template/kuangyu/reader/wap/js/global.js" type="text/javascript"></script>
|
<script src="/template/kuangyu/reader/wap/js/global.js" type="text/javascript"></script>
|
||||||
<script src="/template/kuangyu/public/js/common.js"></script>
|
<script src="/template/kuangyu/public/js/common.js"></script>
|
||||||
|
|||||||
@@ -4,18 +4,55 @@
|
|||||||
{block name="description"}{$strDescription??''}{/block}
|
{block name="description"}{$strDescription??''}{/block}
|
||||||
{block name="head"}
|
{block name="head"}
|
||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url"
|
||||||
<meta property="og:type" content="article" />
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
|
<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.og_novel_category ?? ''}">
|
||||||
|
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
|
||||||
|
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
|
||||||
|
<meta property="og:novel:read_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrLatestChapter.n_id}/zhang-1">
|
||||||
|
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
|
||||||
|
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
|
||||||
|
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name}">
|
||||||
|
<meta property="og:novel:latest_chapter_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrLatestChapter.n_id}/zhang-{$arrLatestChapter.c_sort_num}">
|
||||||
|
<!-- 可选:支持 Twitter Card -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
|
||||||
|
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" />
|
||||||
|
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
"@type": "NewsArticle",
|
"@type": "Book",
|
||||||
"headline": "{$strTitle??''}",
|
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
||||||
"datePublished": "2025-04-05"
|
"author": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{$arrNovel['og_novel_author'] ??'佚名'}"
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "{$DomainModel->d_name}",
|
||||||
|
"url": "https://{$DomainModel->d_domain}"
|
||||||
|
},
|
||||||
|
"datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}",
|
||||||
|
"image": "{$Novel.n_cover_path ?? ''}",
|
||||||
|
"url": '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
|
"genre": "{$arrNovel.og_novel_category ??''}",
|
||||||
|
"inLanguage": "zh-CN",
|
||||||
|
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||||
|
"aggregateRating": {
|
||||||
|
"@type": "AggregateRating",
|
||||||
|
"ratingValue": "4.5",
|
||||||
|
"reviewCount": "100",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|||||||
@@ -4,20 +4,58 @@
|
|||||||
{block name="description"}{$strDescription??''}{/block}
|
{block name="description"}{$strDescription??''}{/block}
|
||||||
{block name="head"}
|
{block name="head"}
|
||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$arrNovel['og_novel_book_name']??'未知小说'}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url"
|
||||||
<meta property="og:type" content="article" />
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
|
<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.og_novel_category ?? ''}">
|
||||||
|
<meta property="og:novel:author" content="{$arrNovel.og_novel_author ?? ''}">
|
||||||
|
<meta property="og:novel:book_name" content="{$arrNovel.og_novel_book_name ?? ''}">
|
||||||
|
<meta property="og:novel:read_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1">
|
||||||
|
<meta property="og:novel:status" content="{$arrNovel.og_novel_status ?? ''}">
|
||||||
|
<meta property="og:novel:update_time" content="{$arrNovel.og_novel_update_time ?? ''}">
|
||||||
|
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.name ?? ''}">
|
||||||
|
<meta property="og:novel:latest_chapter_url"
|
||||||
|
content="https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrLatestChapter.c_sort_num ?? 1}">
|
||||||
|
<!-- 可选:支持 Twitter Card -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:title" content="{$arrNovel['og_novel_book_name'] ?? '未知小说'}" />
|
||||||
|
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" />
|
||||||
|
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
"@type": "NewsArticle",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
||||||
"datePublished": "2025-04-05"
|
"author": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{$arrNovel['og_novel_author'] ??'佚名'}"
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "{$DomainModel->d_name}",
|
||||||
|
"url": "https://{$DomainModel->d_domain}"
|
||||||
|
},
|
||||||
|
"datePublished": "{$arrNovel['og_novel_update_time'] ?? time()}",
|
||||||
|
"image": "{$Novel.n_cover_path ?? ''}",
|
||||||
|
"url": '{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
|
"genre": "{$arrNovel.og_novel_category ??''}",
|
||||||
|
"inLanguage": "zh-CN",
|
||||||
|
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
|
||||||
|
"aggregateRating": {
|
||||||
|
"@type": "AggregateRating",
|
||||||
|
"ratingValue": "4.5",
|
||||||
|
"reviewCount": "100",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
@@ -163,8 +201,18 @@
|
|||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const strNovelId = '{$arrNovel.n_id}';
|
const strNovelId = `{$arrNovel.n_id}`;
|
||||||
|
const arrNovel = {
|
||||||
|
'n_id' : `{$arrNovel['n_id']}`,
|
||||||
|
'og_novel_pin_yin' : `{$arrNovel['og_novel_pin_yin']}`,
|
||||||
|
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||||
|
'og_novel_book_name' : `{$arrNovel['og_novel_book_name']}`,
|
||||||
|
'og_novel_author' : `{$arrNovel['og_novel_author']}`,
|
||||||
|
'og_novel_status' : `{$arrNovel['og_novel_status']}`,
|
||||||
|
'og_novel_update_time' : `{$arrNovel['og_novel_update_time']}`,
|
||||||
|
'c_sort_num' : 1,
|
||||||
|
'c_name' : `第一章`,
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
|
|||||||
@@ -6,18 +6,19 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/paihang/all" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="book" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/paihang/all",
|
||||||
"@type": "NewsArticle",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
|
|||||||
@@ -6,18 +6,19 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="book" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}",
|
||||||
"@type": "NewsArticle",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/bookshelf" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/bookshelf",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/history" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/history",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
@@ -38,32 +38,7 @@
|
|||||||
<td class="t6">状态</td>
|
<td class="t6">状态</td>
|
||||||
<td class="t7">操作</td>
|
<td class="t7">操作</td>
|
||||||
</tr>
|
</tr>
|
||||||
{foreach $arrNewsNovel as $key=>$Novel}
|
|
||||||
<!-- <tr>
|
|
||||||
<td>
|
|
||||||
<a href="/pc/novel/332.html" >
|
|
||||||
<img class="lazyload-img"
|
|
||||||
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"></a>
|
|
||||||
</td>
|
|
||||||
<td class="t2">
|
|
||||||
<a href="/pc/novel/332.html" >{}</a>
|
|
||||||
</td>
|
|
||||||
<td class="t3">
|
|
||||||
<a href="/pc/chapter/1-1-1.html" >老读者必看公告!!!</a>
|
|
||||||
</td>
|
|
||||||
<td class="t4">
|
|
||||||
<a href="/pc/novel/332.html" >兔子很淡定</a>
|
|
||||||
</td>
|
|
||||||
<td class="t5">3天前</td>
|
|
||||||
|
|
||||||
<td class="t6">已完结</td>
|
|
||||||
<td class="t7">
|
|
||||||
<a href="/pc/chapter/1-1-1.html" class="goon" >阅读</a>
|
|
||||||
<i><span class="Collection" ajax-get="" >删除</span></i>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
-->
|
|
||||||
{/foreach}
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="page-box">
|
<div class="page-box">
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/user" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/user",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{Request->DomainModel->d_domain}" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "{$DomainModel->d_domain}",
|
"@context": "{$DomainModel->d_domain}",
|
||||||
"@type": "book",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "{:date('Y-m-d')}"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{Request->DomainModel->d_domain}" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "{$DomainModel->d_domain}",
|
"@context": "{$DomainModel->d_domain}",
|
||||||
"@type": "book",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "{:date('Y-m-d')}"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
<meta property="og:url"
|
<meta property="og:url"
|
||||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
<meta property="og:type" content="novel" />
|
<meta property="og:type" content="book" />
|
||||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||||
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
||||||
@@ -29,8 +29,8 @@
|
|||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": '{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
"@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
"@type": "Book",
|
"@type": "book",
|
||||||
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
||||||
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
||||||
"author": {
|
"author": {
|
||||||
@@ -55,8 +55,8 @@
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{/block}
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
|
||||||
{block name="head-css"}
|
{block name="head-css"}
|
||||||
<link rel="canonical"
|
<link rel="canonical"
|
||||||
href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
|
href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}'>
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||||
<a href="/" itemprop="item">
|
<a href="/pc/" itemprop="item">
|
||||||
<span itemprop="name">首页</span>
|
<span itemprop="name">首页</span>
|
||||||
</a>
|
</a>
|
||||||
<meta itemprop="position" content="1" />
|
<meta itemprop="position" content="1" />
|
||||||
@@ -134,8 +134,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="c04">
|
<div class="c04">
|
||||||
|
{if !empty($arrChapter)}
|
||||||
<a href="/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1" class="read">立即阅读</a>
|
<a href="/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-1" class="read">立即阅读</a>
|
||||||
<a href="/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/mulu/zheng" class="mulu">目录</a>
|
<a href="/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/mulu/zheng" class="mulu">目录</a>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="c05">
|
<!-- <div class="c05">
|
||||||
<p class="c05_t">作品标签:
|
<p class="c05_t">作品标签:
|
||||||
@@ -189,7 +191,7 @@
|
|||||||
<div class="pl_con">
|
<div class="pl_con">
|
||||||
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
||||||
<!-- n_forge_id -->
|
<!-- n_forge_id -->
|
||||||
<a href='/pc/kan/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'
|
<a href='/pc/kan-xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'
|
||||||
class="red">{$ForgeNovel.n_forge_title}</a>
|
class="red">{$ForgeNovel.n_forge_title}</a>
|
||||||
{/volist}
|
{/volist}
|
||||||
|
|
||||||
@@ -230,7 +232,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
const strNovelId = `{$arrNovel.n_id}`;
|
||||||
|
const arrNovel = {
|
||||||
|
'n_id' : `{$arrNovel['n_id']}`,
|
||||||
|
'og_novel_pin_yin' : `{$arrNovel['og_novel_pin_yin']}`,
|
||||||
|
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
|
||||||
|
'og_novel_book_name' : `{$arrNovel['og_novel_book_name']}`,
|
||||||
|
'og_novel_author' : `{$arrNovel['og_novel_author']}`,
|
||||||
|
'og_novel_status' : `{$arrNovel['og_novel_status']}`,
|
||||||
|
'c_sort_num' : 1,
|
||||||
|
'c_name' : `第一章`,
|
||||||
|
};
|
||||||
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="customize"}
|
{block name="customize"}
|
||||||
@@ -239,5 +253,7 @@
|
|||||||
|
|
||||||
{block name="footer-js"}
|
{block name="footer-js"}
|
||||||
<script src="/template/kuangyu/home/bai_web/js/global.js"></script>
|
<script src="/template/kuangyu/home/bai_web/js/global.js"></script>
|
||||||
<script src="/template/kuangyu/public/js/common.js"></script>
|
<script>
|
||||||
|
|
||||||
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
@@ -6,23 +6,46 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{$DomainModel->d_domain}" />
|
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||||
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/all" />
|
||||||
|
{else}
|
||||||
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}" />
|
||||||
|
{/if}
|
||||||
<meta property="og:type" content="book" />
|
<meta property="og:type" content="book" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
|
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "{$DomainModel->d_domain}",
|
"@context": "https://{$DomainModel->d_domain}/shuku/all",
|
||||||
"@type": "book",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "{:date('Y-m-d')}"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{else}
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}",
|
||||||
|
"@type": "book",
|
||||||
|
"headline": "{$strTitle??''}",
|
||||||
|
"description": "{$strDescription??''}",
|
||||||
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{/block}
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|
||||||
{block name="head-css"}
|
{block name="head-css"}
|
||||||
|
|
||||||
|
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||||
<link rel="canonical" href="{$DomainModel->d_domain}/shuku/all">
|
<link rel="canonical" href="{$DomainModel->d_domain}/shuku/all">
|
||||||
|
{else}
|
||||||
|
<link rel="canonical" href="/shuku/{$strGender}/{$strCategory}/{$strStatus}/page1">
|
||||||
|
{/if}
|
||||||
|
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{$DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }" />
|
||||||
<meta property="og:type" content="book" />
|
<meta property="og:type" content="book" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "{$DomainModel->d_domain}",
|
"@context": "https://{$DomainModel->d_domain}{$strPageCode == 'boys' ? 'nansheng-xiaoshuo' : 'nvsheng-xiaoshuo' }",
|
||||||
"@type": "book",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
@@ -22,9 +22,9 @@
|
|||||||
{block name="head-css"}
|
{block name="head-css"}
|
||||||
|
|
||||||
{eq name="strPageCode" value="boys"}
|
{eq name="strPageCode" value="boys"}
|
||||||
<link rel="canonical" href="{$DomainModel->d_domain}/nansheng-xiaoshuo">
|
<link rel="canonical" href="https://{$DomainModel->d_domain}/nansheng-xiaoshuo">
|
||||||
{else}
|
{else}
|
||||||
<link rel="canonical" href="{$DomainModel->d_domain}/nvsheng-xiaoshuo">
|
<link rel="canonical" href="https://{$DomainModel->d_domain}/nvsheng-xiaoshuo">
|
||||||
{/eq}
|
{/eq}
|
||||||
|
|
||||||
{/block}
|
{/block}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<link rel="stylesheet" href="/public/layer/need/layer.css" type="text/css">
|
<link rel="stylesheet" href="/public/layer/need/layer.css" type="text/css">
|
||||||
{block name="head-css"}
|
{block name="head-css"}
|
||||||
<link rel="canonical"
|
<link rel="canonical"
|
||||||
href='{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}'>
|
href='https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}'>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
<meta property="og:url"
|
<meta property="og:url"
|
||||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
<meta property="og:type" content="novel" />
|
<meta property="og:type" content="book" />
|
||||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||||
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "{$DomainModel->d_domain}",
|
"@context": "https://{$DomainModel->d_domain}",
|
||||||
"@type": "book",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
@@ -53,12 +53,12 @@
|
|||||||
"publisher": {
|
"publisher": {
|
||||||
"@type": "Organization",
|
"@type": "Organization",
|
||||||
"name": "{$DomainModel->d_name}",
|
"name": "{$DomainModel->d_name}",
|
||||||
"url": "{$DomainModel->d_domain}"
|
"url": "https://{$DomainModel->d_domain}"
|
||||||
},
|
},
|
||||||
"image": "{$Novel.n_cover_path ?? ''}",
|
"image": "{$Novel.n_cover_path ?? ''}",
|
||||||
"mainEntityOfPage": {
|
"mainEntityOfPage": {
|
||||||
"@type": "WebPage",
|
"@type": "WebPage",
|
||||||
"@id": "{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}"
|
"@id": "https://{$DomainModel->d_domain}/pc/xiaoshuo/{$arrNovel.og_novel_pin_yin}-{$arrNovel.n_id}/zhang-{$arrChapter.c_sort_num ?? 1}"
|
||||||
}
|
}
|
||||||
"isPartOf": {
|
"isPartOf": {
|
||||||
"@type": "Book",
|
"@type": "Book",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
<meta property="og:url"
|
<meta property="og:url"
|
||||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
<meta property="og:type" content="novel" />
|
<meta property="og:type" content="book" />
|
||||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||||
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": '{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
"@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
"@type": "Book",
|
"@type": "Book",
|
||||||
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
||||||
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
<meta property="og:description" content="{$strDescription??'暂无简介'}" />
|
||||||
<meta property="og:url"
|
<meta property="og:url"
|
||||||
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}' />
|
||||||
<meta property="og:type" content="novel" />
|
<meta property="og:type" content="book" />
|
||||||
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
|
||||||
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
<meta property="og:site_name" content="{$DomainModel->d_name}" />
|
||||||
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
<meta property="og:novel:category" content="{$arrNovel.og_novel_category ?? ''}">
|
||||||
@@ -29,8 +29,8 @@
|
|||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": '{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
"@context": 'https://{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[og_novel_pin_yin]" /}',
|
||||||
"@type": "Book",
|
"@type": "book",
|
||||||
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
"name": "{$arrNovel['og_novel_book_name'] ?? '未知小说'}",
|
||||||
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
"description": "{$arrNovel['n_page_description'] ??'暂无简介'}",
|
||||||
"author": {
|
"author": {
|
||||||
@@ -241,6 +241,7 @@
|
|||||||
'og_novel_book_name' : `{$arrNovel['og_novel_book_name']}`,
|
'og_novel_book_name' : `{$arrNovel['og_novel_book_name']}`,
|
||||||
'og_novel_author' : `{$arrNovel['og_novel_author']}`,
|
'og_novel_author' : `{$arrNovel['og_novel_author']}`,
|
||||||
'og_novel_status' : `{$arrNovel['og_novel_status']}`,
|
'og_novel_status' : `{$arrNovel['og_novel_status']}`,
|
||||||
|
'og_novel_update_time' : `{$arrNovel['og_novel_update_time']}`,
|
||||||
'c_sort_num' : 1,
|
'c_sort_num' : 1,
|
||||||
'c_name' : `第一章`,
|
'c_name' : `第一章`,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,12 +7,12 @@
|
|||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="book" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}",
|
"@context": "https://{$DomainModel->d_domain}/search.html?keyword={$strSearchKeywords}",
|
||||||
"@type": "NewsArticle",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "{:date('Y-m-d')}"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://{$DomainModel->d_domain}",
|
"@context": "https://{$DomainModel->d_domain}",
|
||||||
"@type": "Article",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "{:date('Y-m-d')}"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/bookshelf" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/bookshelf",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
@@ -30,18 +30,20 @@
|
|||||||
<div class="app_listBlock app_deleteMargin" id="content">
|
<div class="app_listBlock app_deleteMargin" id="content">
|
||||||
<div class="app_listBlock_con">
|
<div class="app_listBlock_con">
|
||||||
<ul class="app_deletePaddingBottom" id="list">
|
<ul class="app_deletePaddingBottom" id="list">
|
||||||
{foreach $arrNewsNovel as $key => $vo}
|
|
||||||
|
|
||||||
{include file="Public/historyNovelList" /}
|
|
||||||
|
|
||||||
{/foreach}
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="app_pageBlock">
|
<div class="app_pageBlock">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
|
displayBookshelf()
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="customize"} {/block}
|
{block name="customize"} {/block}
|
||||||
@@ -6,16 +6,16 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/history" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/history",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
@@ -30,11 +30,7 @@
|
|||||||
<div class="app_listBlock app_deleteMargin" id="content">
|
<div class="app_listBlock app_deleteMargin" id="content">
|
||||||
<div class="app_listBlock_con">
|
<div class="app_listBlock_con">
|
||||||
<ul class="app_deletePaddingBottom" id="list">
|
<ul class="app_deletePaddingBottom" id="list">
|
||||||
{foreach $arrNewsNovel as $key => $vo}
|
|
||||||
|
|
||||||
{include file="Public/historyNovelList" /}
|
|
||||||
|
|
||||||
{/foreach}
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -42,6 +38,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
|
displayHistory()
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="customize"} {/block}
|
{block name="customize"} {/block}
|
||||||
@@ -6,16 +6,16 @@
|
|||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
<meta property="og:url" content="{Request->DomainModel->d_domain}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}/user" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<!-- 结构化数据 -->
|
<!-- 结构化数据 -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://{$DomainModel->d_domain}/user",
|
||||||
"@type": "NewsArticle",
|
"@type": "article",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
"datePublished": "2025-04-05"
|
"datePublished": "{:date('Y-m-d')}"
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{block name="head-js"}{/block}
|
{block name="head-js"}{/block}
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html lang="zh-CN">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="robots" content="index, follow" />
|
<meta name="robots" content="index, follow" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<meta http-equiv="Cache-Control" content="no-transform, max-age=3600" />
|
<meta http-equiv="Cache-Control" content="no-transform, max-age=3600" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
||||||
|
<meta name="applicable-device" content="mobile" />
|
||||||
<title>{block name="title"}{/block}</title>
|
<title>{block name="title"}{/block}</title>
|
||||||
<meta name="description" content='{block name="keywords"}{/block}'>
|
<meta name="keywords" content='{block name="keywords"}{/block}'>
|
||||||
<meta name="description" content='{block name="description"}{/block}'>
|
<meta name="description" content='{block name="description"}{/block}'>
|
||||||
<link rel="icon" href="/template/kuangyu/public/img/favicon.ico" type="image/x-icon" />
|
<link rel="icon" href="/template/kuangyu/public/img/favicon.ico" type="image/x-icon" />
|
||||||
|
<link rel="apple-touch-icon" href="/template/kuangyu/public/img/apple-touch-icon.png" />
|
||||||
|
|
||||||
<link rel="preload" href="/template/kuangyu/home/new_wap/css/style.css" as="style" onload="this.rel='stylesheet'" />
|
<link rel="preload" href="/template/kuangyu/home/new_wap/css/style.css" as="style" onload="this.rel='stylesheet'" />
|
||||||
<link rel="stylesheet" href="/template/kuangyu/home/new_wap/css/style.css" type="text/css">
|
<link rel="stylesheet" href="/template/kuangyu/home/new_wap/css/style.css" type="text/css">
|
||||||
@@ -49,8 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="search-bar">大家都在看</div>
|
<div class="search-bar">大家都在看</div>
|
||||||
<div class="search-tags">
|
<div class="search-tags">
|
||||||
<!-- <a href="/novel/334.html">落魄千金美食发家日常</a>
|
<!-- <a href="/novel/332.html">我真是一条龙</a> -->
|
||||||
<a href="/novel/332.html">我真是一条龙</a> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -113,9 +115,8 @@
|
|||||||
<!-- 全局统计 -->
|
<!-- 全局统计 -->
|
||||||
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
||||||
|
|
||||||
<!-- TODO 站点统计 这个无法渲染 -->
|
<!-- 站点统计 -->
|
||||||
<!-- FIXED 打开TP模板文档,找到变量原样输出 -->
|
{$DomainModel->d_statis|raw}
|
||||||
{Request->DomainModel->d_statis}
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<a href="/">首页</a>
|
<a href="/">首页</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="icon2">
|
<li class="icon2">
|
||||||
<a href="/shuku">书库</a>
|
<a href="/shuku/all">书库</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="icon3">
|
<li class="icon3">
|
||||||
<a href="/bookshelf">书架</a>
|
<a href="/bookshelf">书架</a>
|
||||||
@@ -55,9 +55,8 @@
|
|||||||
<!-- 全局统计 -->
|
<!-- 全局统计 -->
|
||||||
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
||||||
|
|
||||||
<!-- TODO 站点统计 这个无法渲染 -->
|
<!-- 站点统计 -->
|
||||||
<!-- FIXED 打开TP模板文档,找到变量原样输出 -->
|
{$DomainModel->d_statis|raw}
|
||||||
{Request->DomainModel->d_statis}
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html lang="zh-CN">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
@@ -88,13 +88,15 @@
|
|||||||
|
|
||||||
<!-- 全局统计 -->
|
<!-- 全局统计 -->
|
||||||
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
||||||
|
|
||||||
<!-- TODO 站点统计 这个无法渲染 Request START-->
|
|
||||||
<!-- FIXED 打开TP模板文档,找到变量原样输出 -->
|
|
||||||
<!-- {Request->DomainModel->d_statis} -->
|
|
||||||
<!-- 现在是使用这个 -->
|
<!-- 现在是使用这个 -->
|
||||||
{$DomainModel->d_statis|raw}
|
{$DomainModel->d_statis|raw}
|
||||||
{Request->DomainModel->d_statis|raw}
|
{Request->DomainModel->d_statis|raw}
|
||||||
|
<!-- FIXED 打开TP模板文档,找到变量原样输出 -->
|
||||||
|
<!-- TODO 问题描述:下面 -->
|
||||||
|
<!-- 我这边测试: 无法调用用 Request 渲染 , 只能渲染 通过 view:assign() 传递过来的变量 START-->
|
||||||
|
<!-- 1.{Request->DomainModel->d_statis|raw} 这个在页面上展示的 就是: {Request->DomainModel->d_statis} -->
|
||||||
|
<!-- 2.{$DomainModel->d_statis|raw} 使用这个是可以正常渲染的,这个在basecontroll 里面 加入 assign了,你看看这样操作行不-->
|
||||||
<!-- TODO END -->
|
<!-- TODO END -->
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -134,9 +134,8 @@
|
|||||||
<!-- 全局统计 -->
|
<!-- 全局统计 -->
|
||||||
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
||||||
|
|
||||||
<!-- TODO 站点统计 这个无法渲染 -->
|
<!-- 站点统计 -->
|
||||||
<!-- FIXED 打开TP模板文档,找到变量原样输出 -->
|
{$DomainModel->d_statis|raw}
|
||||||
{Request->DomainModel->d_statis}
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
@@ -174,21 +174,21 @@ class TemplateSeeder
|
|||||||
'description' => '搜索页Title 替换模板分组ID',
|
'description' => '搜索页Title 替换模板分组ID',
|
||||||
'sfg_id' => 22,
|
'sfg_id' => 22,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'{strSearchKeywords} - 免费{strNovelSex}{strNovelCategoryName}小说阅读 - {strSiteName} - 第{intPage}页',
|
'{strSearchKeywords} - {strSiteName}搜索 - 第{intPage}页',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NOVEL@GETSEARCHNOVEL@KEYWORDS' => [
|
'NOVEL@GETSEARCHNOVEL@KEYWORDS' => [
|
||||||
'description' => '搜索页Keywords 替换模板分组ID',
|
'description' => '搜索页Keywords 替换模板分组ID',
|
||||||
'sfg_id' => 23,
|
'sfg_id' => 23,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'{strSearchKeywords}, {strNovelCategoryName}, {strNovelSex}小说, 免费小说, {strSiteName}, {strSiteDomain}',
|
'{strSearchKeywords}, {strSiteName}, 免费阅读, 在线搜索, 第{intPage}页',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NOVEL@GETSEARCHNOVEL@DESCRIPTION' => [
|
'NOVEL@GETSEARCHNOVEL@DESCRIPTION' => [
|
||||||
'description' => '搜索页Description 替换模板分组ID',
|
'description' => '搜索页Description 替换模板分组ID',
|
||||||
'sfg_id' => 24,
|
'sfg_id' => 24,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'{strSiteName}为您提供{strSearchKeywords}相关的{strNovelSex}{strNovelCategoryName}小说免费阅读资源。第{intPage}页精选热门作品,畅享高质量阅读体验,欢迎访问{strSiteDomain}!',
|
'{strSearchKeywords}搜索结果尽在{strSiteName},第{intPage}页提供免费阅读,访问{strSiteDomain}立即体验!',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|||||||
@@ -149,15 +149,16 @@ function addBookshelfFun(NovelInfo) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除历史记录
|
// 删除书架
|
||||||
function delBookshelfFun(intNId) {
|
function delBookshelfFun(intNId) {
|
||||||
// 获取书架数据
|
// 获取书架数据
|
||||||
const arrHistory = JSON.parse(localStorage.getItem('strBookshelfKey')) || [];
|
const arrHistory = JSON.parse(localStorage.getItem('strBookshelfKey')) || [];
|
||||||
|
console.log(arrHistory)
|
||||||
|
|
||||||
// 检查 arrHistory 是否为数组且不为空
|
// 检查 arrHistory 是否为数组且不为空
|
||||||
if (Array.isArray(arrHistory) && arrHistory.length > 0) {
|
if (Array.isArray(arrHistory) && arrHistory.length > 0) {
|
||||||
// 找到匹配 intNId 的索引
|
// 找到匹配 intNId 的索引
|
||||||
const index = arrHistory.findIndex(item => item.n_id === intNId);
|
const index = arrHistory.findIndex(item => item.n_id == intNId);
|
||||||
|
|
||||||
// 如果找到匹配项(index !== -1),则删除
|
// 如果找到匹配项(index !== -1),则删除
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
@@ -188,36 +189,40 @@ function displayBookshelf() {
|
|||||||
|
|
||||||
// 渲染书籍列表
|
// 渲染书籍列表
|
||||||
const DomBookshelfContainer = document.getElementById('bookshelfMod-head');
|
const DomBookshelfContainer = document.getElementById('bookshelfMod-head');
|
||||||
|
const DomBookshelfContainerH5 = document.getElementById('list');
|
||||||
arrBookshelf.forEach(book => {
|
arrBookshelf.forEach(book => {
|
||||||
const bookElement = document.createElement('tr');
|
|
||||||
bookElement.classList.add('book-shelf'); // 添加类名
|
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
|
const bookElement = document.createElement('li');
|
||||||
|
bookElement.classList.add('book-shelf'); // 添加类名
|
||||||
|
bookElement.classList.add('li2'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<td>
|
<a href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}'>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<div class="leftImage2 ">
|
||||||
<img class="lazyload-img"
|
<img class="lazyload-img" src="${book.n_cover_path}" >
|
||||||
src="/static/img/default.jpg" data-src="${book.n_cover_path}">
|
</div>
|
||||||
</a>
|
<div class="rightBlock">
|
||||||
</td>
|
<span class="rightBlock_title">${book.og_novel_book_name}</span>
|
||||||
<td class="t2">
|
<span class="rightBlock_name">${book.og_novel_author}</span>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_book_name}</a>
|
<span class="rightBlock_con rightBlock_con2">
|
||||||
</td>
|
<span class="con">
|
||||||
<td class="t3">
|
<span class="spanLi">${book.c_name}</span>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >${book.c_name}</a>
|
</span>
|
||||||
</td>
|
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span>
|
||||||
<td class="t4">
|
<span class="rightJustTime"
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_author}</a>
|
onclick="javascript:window.location.href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}';return false;">
|
||||||
</td>
|
继续阅读
|
||||||
<td class="t5">3天前</td>
|
</span>
|
||||||
|
</span>
|
||||||
<td class="t6">${book.og_novel_status}</td>
|
</div>
|
||||||
<td class="t7">
|
</a>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" class="goon" >阅读</a>
|
<span class="deleteBlock" onclick="delBookshelfFun(${book.n_id})"></span>
|
||||||
<i><span class="Collection" ajax-get="" onclick="delBookshelfFun(${book.n_id})">删除</span></i>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
DomBookshelfContainerH5.appendChild(bookElement);
|
||||||
} else {
|
} else {
|
||||||
|
const bookElement = document.createElement('tr');
|
||||||
|
bookElement.classList.add('book-shelf'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<td>
|
<td>
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
||||||
@@ -242,8 +247,9 @@ function displayBookshelf() {
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
DomBookshelfContainer.after(bookElement);
|
||||||
}
|
}
|
||||||
DomBookshelfContainer.after(bookElement);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,7 +264,7 @@ function addHistoryFun(NovelInfo) {
|
|||||||
// 获取本地存储中的历史记录
|
// 获取本地存储中的历史记录
|
||||||
let arrBookshelf = JSON.parse(localStorage.getItem('strHistoryKey')) || [];
|
let arrBookshelf = JSON.parse(localStorage.getItem('strHistoryKey')) || [];
|
||||||
// 检查书籍是否已存在
|
// 检查书籍是否已存在
|
||||||
const index = arrBookshelf.findIndex(item => item.n_id === NovelInfo.n_id);
|
const index = arrBookshelf.findIndex(item => item.n_id == NovelInfo.n_id);
|
||||||
|
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
// 如果存在,更新该书籍的信息
|
// 如果存在,更新该书籍的信息
|
||||||
@@ -280,7 +286,7 @@ function delHistoryFun(intNId) {
|
|||||||
// 检查 arrHistory 是否为数组且不为空
|
// 检查 arrHistory 是否为数组且不为空
|
||||||
if (Array.isArray(arrHistory) && arrHistory.length > 0) {
|
if (Array.isArray(arrHistory) && arrHistory.length > 0) {
|
||||||
// 找到匹配 intNId 的索引
|
// 找到匹配 intNId 的索引
|
||||||
const index = arrHistory.findIndex(item => item.n_id === intNId);
|
const index = arrHistory.findIndex(item => item.n_id == intNId);
|
||||||
|
|
||||||
// 如果找到匹配项(index !== -1),则删除
|
// 如果找到匹配项(index !== -1),则删除
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
@@ -311,36 +317,36 @@ function displayHistory() {
|
|||||||
|
|
||||||
// 渲染书籍列表
|
// 渲染书籍列表
|
||||||
const DomHistoryContainer = document.getElementById('bookshelfMod-head');
|
const DomHistoryContainer = document.getElementById('bookshelfMod-head');
|
||||||
|
const DomBookshelfContainerH5 = document.getElementById('list');
|
||||||
arrHistory.forEach(book => {
|
arrHistory.forEach(book => {
|
||||||
const bookElement = document.createElement('tr');
|
|
||||||
bookElement.classList.add('book-history'); // 添加类名
|
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
|
const bookElement = document.createElement('li');
|
||||||
|
bookElement.classList.add('book-history'); // 添加类名
|
||||||
|
bookElement.classList.add('li2'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<td>
|
<a href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}'>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<div class="leftImage2 ">
|
||||||
<img class="lazyload-img"
|
<img class="lazyload-img" src="${book.n_cover_path}" >
|
||||||
src="/static/img/default.jpg" data-src="${book.n_cover_path}">
|
</div>
|
||||||
</a>
|
<div class="rightBlock">
|
||||||
</td>
|
<span class="rightBlock_title">${book.og_novel_book_name}</span>
|
||||||
<td class="t2">
|
<span class="rightBlock_name">${book.og_novel_author}</span>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_book_name}</a>
|
<span class="rightBlock_con rightBlock_con2">
|
||||||
</td>
|
<span class="con">
|
||||||
<td class="t3">
|
<span class="spanLi">${book.c_name}</span>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >${book.c_name}</a>
|
</span>
|
||||||
</td>
|
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span>
|
||||||
<td class="t4">
|
<span class="rightJustTime"
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_author}</a>
|
onclick="javascript:window.location.href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}';return false;">继续阅读</span>
|
||||||
</td>
|
</span>
|
||||||
<td class="t5">3天前</td>
|
</div>
|
||||||
|
</a>
|
||||||
<td class="t6">${book.og_novel_status}</td>
|
<span class="deleteBlock" onclick="delHistoryFun(${book.n_id})"></span>
|
||||||
<td class="t7">
|
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" class="goon" >阅读</a>
|
|
||||||
<i><span class="Collection" ajax-get="" onclick="delHistoryFun(${book.n_id})">删除</span></i>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
DomBookshelfContainerH5.appendChild(bookElement);
|
||||||
} else {
|
} else {
|
||||||
|
const bookElement = document.createElement('tr');
|
||||||
|
bookElement.classList.add('book-history'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<td>
|
<td>
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
||||||
@@ -356,7 +362,7 @@ function displayHistory() {
|
|||||||
<td class="t4">
|
<td class="t4">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_author}</a>
|
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_author}</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t5">${book.og_novel_update_time}</td>
|
<td class="t5">${book.og_novel_update_time ?? ''}</td>
|
||||||
|
|
||||||
<td class="t6">${book.og_novel_status}</td>
|
<td class="t6">${book.og_novel_status}</td>
|
||||||
<td class="t7">
|
<td class="t7">
|
||||||
@@ -365,8 +371,9 @@ function displayHistory() {
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
DomHistoryContainer.after(bookElement);
|
||||||
}
|
}
|
||||||
DomHistoryContainer.after(bookElement);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user