最近公司项目用dede系统,感觉是一个非常不错的开源免费CMS系统,很好用。最近在使用DEDECMS的专题功能,发现了一个问题,就是自定义的节点容器模板不起作用,后来查看了相关的文件,发现这个功能并没有用。幸好DEDE是开源的,于是自己动手。你是否也想使用自己的专题功能完善呢?下面跟我来操作一下,非常简单。
1.修改添加/编辑专题的模板文件
文件位于 dede\templets下面的 spec_edit.htm 文件,打开文件并找到 “单条记录的模板:” ,在
后面添加下面的代码
节点容器模板:
节点容器模板:<input id="notetemplet<?php echo $i?>" style="width: 300;" type="text" name="notetemplet<?php echo $i?>" value="<?php echo $notetemplet?>" /> <input style="width: 70;" onclick="SelectTemplets('form1.notetemplet<?php echo $i?>');" type="button" name="selno<?php echo $i?>" value="浏览..." />
注意有两个地方要添加,继教查找“单条记录的模板:”,在
下面添加下面的代码。
节点容器模板:<input id="notetemplet<?php echo $i?>" style="width: 300;" type="text" name="notetemplet<?php echo $i?>" value="system/channel_spec_note.htm" /> <input style="width: 70;" onclick="SelectTemplets('form1.notetemplet<?php echo $i?>');" type="button" name="selno<?php echo $i?>" 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,'/')+1); $tempStr = GetSysTemplets($notetemplet); } else { $tempStr = GetSysTemplets("channel_spec_note.htm"); }
到此所有的修改就完成了,在修改文件时候记得一定要进行备份。
找不到原创,做了下完善修改 83