dedecms 5.7 自定义专题节点容器模板修正

网络整理 - 07-21

最近公司项目用dede系统,感觉是一个非常不错的开源免费CMS系统,很好用。最近在使用DEDECMS的专题功能,发现了一个问题,就是自定义的节点容器模板不起作用,后来查看了相关的文件,发现这个功能并没有用。幸好DEDE是开源的,于是自己动手。你是否也想使用自己的专题功能完善呢?下面跟我来操作一下,非常简单。

1.修改添加/编辑专题的模板文件

文件位于 dede\templets下面的 spec_edit.htm 文件,打开文件并找到 “单条记录的模板:” ,在

后面添加下面的代码

节点容器模板:

节点容器模板:<input type="text" value="<?php echo $notetemplet?>" /> <input type="button" value="浏览..." />

注意有两个地方要添加,继教查找“单条记录的模板:”,在

下面添加下面的代码。

节点容器模板:<input type="text" value="system/channel_spec_note.htm" /> <input type="button" value="浏览..." />

接下来找到if(empty($rownum)) $rownum = 40; 在下面添加如下代码

$notetemplet = $ctag->GetAtt('notetemplet');

OK,模板文件搞定了。

2.修改 dede目录下面的 spec_add.php、spec_edit.php文件

(1)找到 $listtmp = trim(${‘listtmp’.$i}); 这句在下面添加 $notetemplet = trim(${‘notetemplet’.$i});

(2)找到 $notelist .= 在标签里面添加 notetemplet=\\’$notetemplet\\’
这样修改后,你添加/编辑专题时就可以选择自定义的节点容器模板了,接着看第3点。

3.修改 \include\taglib\channel\specialtopic.lib.php 文件

找到 $rownum = trim($ctag->GetAtt(‘rownum’)); 在下面添加如下代码
// 读取自定义的系统节点容器模板,模板必须位于 templets/system 下面。

$notetemplet = trim($ctag->GetAtt('notetemplet')); if ($notetemplet) { $notetemplet = substr($notetemplet,strpos($notetemplet,'http://www.zhimengba.com/')+1); $tempStr = GetSysTemplets($notetemplet); } else { $tempStr = GetSysTemplets("channel_spec_note.htm"); }

到此所有的修改就完成了,在修改文件时候记得一定要进行备份。