一直以来都使用DEDECMS,感觉是一个非常不错的开源免费CMS系统,很好用。最近在使用DEDECMS的专题功能,发现了一个问题,就是自定义的节点容器模板不起作用,后来查看了相关的文件,发现这个功能并没有用。幸好DEDE是开源的,于是自己动手。你是否也想使用自己的专题功能完善呢?下面跟我来操作一下,非常简单。
1.修改添加/编辑专题的模板文件
文件位于 dede\templets下面的 spec_edit.htm 文件,打开文件并找到 “单条记录的模板:” ,在</tr>后面添加下面的代码
<tr>
<td>节点容器模板:</td>
<td colspan="2"><input name="notetemplet<?php echo $i?>" type="text" id="notetemplet<?php echo $i?>" value="system/channel_spec_note.htm" style="width:300">
<input type="button" name="selno<?php echo $i?>" value="浏览..." style="width:70" onClick="SelectTemplets('form1.notetemplet<?php echo $i?>');"></td>
</tr>
注意有两个地方要添加,继教查找“单条记录的模板:”,在</tr>下面同样添加如上的代码。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 下面。 by hhj
$notetemplet = trim($ctag->GetAtt('notetemplet'));
if ($notetemplet)
{
$notetemplet = substr($notetemplet,strpos($notetemplet,'/')+1);
$tempStr = GetSysTemplets($notetemplet);
}
else
{
$tempStr = GetSysTemplets("channel_spec_note.htm");
}
到此所有的修改就完成了,在修改文件时候记得一定要进行备份。效果可以看看:http://www.zyao.net/zhuanti/zhongyaozhongzhi.html如果不会修改的可以到:http://hhj.gx.cn/post/316/ 去下载修改好的文件。