船说 CMS 章节内广告如何插入
学完这篇,你能在船说CMS 的章节阅读页正文中间插入广告,并且知道该改哪个文件、插什么代码、怎么验证有没有生效。
第一步:先确认你的船说CMS 支持哪种广告方式
这一步要做的是判断「能不能在后台点点鼠标搞定」,还是必须动模板文件。
登录后台,在左侧菜单里找广告管理(有些版本叫广告位管理或推广管理)。点进去看「添加广告」时的广告类型下拉框:如果里面有章节内广告、内容页广告或正文广告这类选项,恭喜,走第二步;如果只有「首页广告」「列表页广告」,说明得走第四步手动改模板。
顺便在系统 → 系统信息里记下版本号,或者在后台首页右下角看版权信息,后面查资料、对比模板都用得上。
第二步:后台新建一个章节内广告位
目标是拿到一段可调用的广告代码或一个广告 ID。
进入广告管理 → 添加广告:
- 广告名称:填「章节正文中插-移动端」,方便以后区分;
- 广告类型:选章节内广告(或内容页广告);
- 广告代码:粘贴你的联盟 JS 或 HTML 代码,比如百度联盟、Google AdSense 的那段
<script>; - 展示设备:可选的话,PC 和移动端分开建两个广告位,因为两套模板的宽度不一样;
- 插入位置:有的版本会让你填「正文第 N 段之后插入」或「每隔 N 段插入一次」,填 3 或 5 比较合适,太靠前读者反感;
- 保存后记下系统给的广告 ID,一般是个数字。
注意:如果你的船说CMS 后台没有「插入位置」这个字段,说明它只负责存代码,真正插入的位置还得靠模板决定,请继续看第四步。
第三步:找到章节阅读页对应的模板文件
目标是确认要编辑哪一个 .html 文件。
模板一般在 /template/模板名/ 目录下。章节阅读页的模板文件名常见的有:chapter.html、read.html、chapter_read.html、book_chapter.html。判断方法很简单:后台进入模板管理 → 模板文件列表,逐个点开预览,或者在浏览器里打开小说任意一章,右键查看网页源代码,看头部有没有模板名注释。
找到文件后,在代码里搜索正文输出变量,通常是 {$chapter.content}、{$info.content}、{$read.content} 这类写法。
第四步:把广告插进正文中间
目标是让广告出现在第 3 段或第 5 段后面,而不是正文尾部。
方法 A:模板标签直接调广告位。 如果你在第二步拿到了广告 ID,在正文变量下方加一行类似 {maccms:ad id="3"} 或 {ad id="3"} 的标签(标签写法各版本不同,以模板管理里的标签说明页为准)。
方法 B:用 JS 按段落插入,跨版本通用。 在模板正文变量之后加一段脚本:
<div id="bookContent" class="content">{$chapter.content}</div>
<script>
(function(){
var box = document.getElementById('bookContent');
if(!box) return;
var ps = box.querySelectorAll('p');
if(ps.length < 4) return;
var ad = document.createElement('div');
ad.className = 'in-chapter-ad';
ad.innerHTML = '这里放你的广告代码';
ps[2].parentNode.insertBefore(ad, ps[2].nextSibling);
})();
</script>
这段代码的意思是:第 3 个 <p> 标签后面插入广告容器。想插两处就复制一份,把 ps[2] 改成 ps[5]。
注意:正文如果不是按
<p>分段,而是用<br>换行或一整个 div 包着,querySelectorAll('p')会取到 0 个元素,广告就不会出现。这种情况改成按innerHTML里的<br>拆分再拼接。
第五步:清缓存、刷页面、验效果
目标是确认前台真的显示了广告。
后台进入系统 → 缓存管理,点清除缓存(模板缓存和数据缓存都要清)。然后前台打开任意一章,按 F12 打开开发者工具,用元素选择器点一下正文中间,看有没有你插入的广告容器。
注意:船说CMS 一般有 PC 模板和手机模板两套,后台「模板管理」里能看到两个模板目录。手机模板需要单独再改一遍,否则手机读者看不到广告。
小结
- 先看后台广告管理有没有「章节内广告」类型,有就走后台配置,没有才改模板;
- 章节页模板通常是
chapter.html或read.html,正文变量形如{$chapter.content}; - 后台广告位解决「代码存哪」,模板或 JS 解决「插在第几段」,两件事要分开做;
- JS 按
<p>索引插入是跨版本最稳的做法,但要先确认正文确实是<p>分段; - 改模板前先备份文件,清缓存后再验证,PC 和手机模板各改一次。
原文链接:https://www.gj0.com/thread-1081.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。