下面我将为你提供一个从零开始的详细教程,包括准备工作、模板代码、发布规则设置和注意事项。
准备工作:在DedeCMS中创建图集模型
在火车头发布内容之前,你必须先在DedeCMS后台定义好一个能容纳图集内容的“内容模型”。
-
登录DedeCMS后台。
-
进入 [核心] -> [内容模型管理]。
-
点击 [增加新模型]。
-
填写模型信息:
- 模型名称:
图集(或你喜欢的任何名字) - 模型表前缀:
dede_addonimages(DedeCMS图集模型默认使用这个,保持默认即可) - 模型标识:
images(非常重要,发布规则中要用到) - 简介选项: 勾选
启用简介 - 其他选项: 根据需要勾选,如“支持多分类”、“支持发布”等。
- 模型名称:
-
点击 [保存]。
-
添加字段:
- 保存后,会自动跳转到字段管理页面,图集模型已经有一些默认字段,如
body(文章内容)、litpic(缩略图)。 - 你可以根据需要添加自定义字段,
zuozhe(作者)、laiyuan(来源) 等,添加方法:点击 [增加新字段],填写字段名、字段类型等。
- 保存后,会自动跳转到字段管理页面,图集模型已经有一些默认字段,如
你的DedeCMS后台已经有了一个可以接收图集数据的模型了。
制作图集模板
火车头发布时,会根据你设置的发布规则,将采集到的数据填充到指定的DedeCMS模板文件中,并生成HTML页面。
你需要创建两个模板文件:
- 列表模板 (
list_images.htm): 用于显示图集列表页。 - 内容页模板 (
article_images.htm): 用于显示单个图集的详细页面。
列表模板 (list_images.htm)
这个模板用于生成图集列表页面,http://yourdomain.com/images/list-1.html。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:global.cfg_webname/} - {dede:field.typename/}</title>
<meta name="description" content="{dede:field.description function='html2text(@me)'/}">
<meta name="keywords" content="{dede:field.keywords/}">
<link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/templets/default/style/dedecms.css">
</head>
<body>
<div class="header">
<!-- 你的网站头部代码 -->
</div>
<div class="main">
<div class="listbox">
<!-- 循环开始,这里的 field.arcid 等变量由火车头填充 -->
{dede:list pagesize='20' titlelen='100'}
<dl class="tbox">
<dt>
<strong><a href="[field:arcurl/]">[field:title/]</a></strong>
<span class="date">([field:pubdate function="MyDate('Y-m-d',@me)"/])</span>
</dt>
<dd>
<a href="[field:arcurl/]">
<!-- 如果图集有缩略图则显示,否则不显示 -->
[field:litpic runphp='yes']
if(@me=='') @me = '/templets/default/images/defaultpic.gif';
else @me = '<img src="'.$GLOBALS['cfg_cmsurl'].$GLOBALS['cfg_uploaddir'].'/'.$_GET['picpath'].'" alt="[field:title/]">';
[/field:litpic]
</a>
<p>[field:description function="cn_substr(@me, 100)"/]...</p>
</dd>
</dl>
{/dede:list}
</div>
<!-- 分页 -->
<div class="pagebox">
{dede:pagelist listsize='4' listitem='info,index,end,pre,next,pageno'}
</div>
</div>
<div class="footer">
<!-- 你的网站底部代码 -->
</div>
</body>
</html>
模板说明:
{dede:list ...}: 这是DedeCMS的列表标签,用于循环输出文章。[field:arcurl/]: 文章的链接,由火车头在发布时填充。[field:title/]: 文章标题。[field:pubdate ...]: 发布日期,并用MyDate函数格式化。[field:litpic ...]: 缩略图,这里使用了runphp进行判断,如果没有缩略图则显示默认图片。[field:description ...]: 文章简介,并用cn_substr函数截取前100个字符。{dede:pagelist ...}: 分页标签。
内容页模板 (article_images.htm)
这是图集的核心模板,用于展示图片列表和图片集。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:field.title/} - {dede:global.cfg_webname/}</title>
<meta name="description" content="{dede:field.description function='html2text(@me)'/}">
<meta name="keywords" content="{dede:field.keywords/}">
<link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/templets/default/style/dedecms.css">
<!-- 引入JQuery和DedeCMS图集播放器JS -->
<script src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
<script src="{dede:global.cfg_cmsurl/}/templets/default/js/piccontent.js"></script>
</head>
<body>
<div class="header">
<!-- 你的网站头部代码 -->
</div>
<div class="main">
<div class="content">
<h1 class="title">{dede:field.title/}</h1>
<div class="info">
<span class="source">来源:{dede:field.source/}</span>
<span class="author">作者:{dede:field.writer/}</span>
<span class="date">发布时间:{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}</span>
<span class="views">浏览:<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field.mid/}" type='text/javascript' language="javascript"></script>次</span>
</div>
<!-- 图集内容开始 -->
{dede:field.body/}
<!-- 图集内容结束 -->
<div class="dede_pages">
<ul class="pagelist">
{dede:pagebreak/}
</ul>
</div>
<!-- 上下篇 -->
<div class="prenext">
<p>上一篇:{dede:prenext get='pre'/}</p>
<p>下一篇:{dede:prenext get='next'/}</p>
</div>
</div>
</div>
<div class="footer">
<!-- 你的网站底部代码 -->
</div>
</body>
</html>
模板说明:
{dede:field.title/}: 文章标题。{dede:field.body/}: 这是最重要的部分! 在DedeCMS后台添加图集内容时,你使用的是“图集管理”功能,它会生成一段包含<ddimg>标签的HTML代码。{dede:field.body/}标签会直接输出这段HTML,从而形成图集。{dede:pagebreak/}: 图集分页标签,如果一张图集内容被分成了多页,这里会生成分页链接。{dede:prenext get='pre'/}和{dede:prenext get='next'/}: 上一篇和下一篇的链接。<script src=".../count.php...">: 这是DedeCMS的浏览次数统计JS代码,必须保留。
火车头发布规则设置
这是连接火车头和DedeCMS的桥梁。
- 打开火车头采集器,新建一个发布模块。
- 基本信息:
- 发布接口:
POST - 发布地址:
http://你的网站域名/dede/post.php(这是DedeCMS 5.7默认的内容发布处理文件) - 登录地址:
http://你的网站域名/dede/login.php - 登录用户名: 你的DedeCMS后台管理员账号
- 登录密码: 你的密码
- 登录后停留时间: 2000 (毫秒)
- 发布接口:
- 字段映射: 这是最关键的一步,你需要将火车头采集到的字段(如 、)对应到DedeCMS的字段上。
| 火车头字段 (示例) | DedeCMS 字段 | 说明 |
| :--- | :--- | :--- | | title | 文章标题 |
| 简介 | description | 文章简介/|
| 缩略图 | litpic | 图集的封面/缩略图 | | body | ,这里应该是包含图片<img>标签的HTML,或者直接是<ddimg>标签。 |
| 作者 | writer | 作者 |
| 来源 | source | 来源 |
| 发布时间 | pubdate | 发布时间,格式为 YYYY-MM-DD HH:MM:SS |
| 关键字 | keywords | 关键字,多个用英文逗号隔开 |
| 栏目ID | typeid | 非常重要! 你需要提前在DedeCMS后台创建好“图集”栏目,并记下它的ID,这里填入对应的ID。 |
| 用户ID | mid | 可选,默认为1。 |
| 点击数 | click | 可选,初始点击数。 |
| 阿里云/腾讯云图片 | remote | 如果你的图片使用了云存储,勾选此项,DedeCMS会自动下载远程图片。 |
特别说明 字段:
- 方法A (推荐): 在火车头里,使用“内容处理”功能,将采集到的纯文本内容处理成包含
<ddimg>标签的HTML,将<img src="...">转换成<ddimg src="...">。 - 方法B: 直接将包含
<img>标签的HTML填入字段,DedeCMS的图集播放器也支持这种方式,但不如<ddimg>标签原生支持得好。
-
发布前处理:
如果需要,可以在这里添加一些处理逻辑,比如去除无关的HTML标签、替换文本等。
-
发布后处理:
通常留空。
-
高级设置:
- 发布间隔: 建议设置一个小的间隔,如
1000(1秒),避免对服务器造成太大压力。 - 发布失败重试次数: 可以设置为
3。
- 发布间隔: 建议设置一个小的间隔,如
注意事项与常见问题
- 权限问题: 确保火车头采集器所在的电脑可以访问你的网站域名,并且DedeCMS后台的
post.php文件没有被其他安全策略拦截。 - 模板路径: 模板中的CSS、JS等资源路径请使用绝对路径(如
/templets/default/style/dedecms.css)或{dede:global.cfg_cmsurl/}变量,以防路径错误。 - 字符集: 确保火车头采集的字符集与DedeCMS网站数据库的字符集一致(通常是
UTF-8)。 - 图集无法显示:
- 检查
{dede:field.body/}是否有输出。 - 检查DedeCMS后台是否开启了“使用图集标签”。
- 检查JS文件 (
piccontent.js) 是否正确加载。
- 检查
- 分页问题: 如果图集内容很长,记得在DedeCMS后台编辑文章时使用“图集分页”功能,否则
{dede:pagebreak/}不会生效。 - 调试: 如果发布失败,先不要批量发布,选择一条数据进行“发布”,然后去DedeCMS后台查看是否有报错信息,或者生成的HTML是否正常,这是最高效的调试方法。
按照以上步骤,你就可以成功地为火车头5.7配置一个功能完善的DedeCMS 5.7图集模板了,祝你使用顺利!
