恩情昊 发表于 2024-9-19 12:22:33

DEDECMS 5.3 自定义节点容器模板修正

一直以来都使用DEDECMS,感觉是一个非常不错的开源免费CMS系统,很好用。最近在使用DEDECMS的专题功能,发现了一个问题,就是自定义的节点容器模板不起作用,后来查看了相关的文件,发现这个功能并没有用。幸好DEDE是开源的,于是自己动手。你是否也想使用自己的专题功能完善呢?下面跟我来操作一下,非常简单。
    1.修改添加/编辑专题的模板文件文件位于 dede\templets下面的 spec_edit.htm 文件,打开文件并找到 单条记录的模板: ,在/tr后面添加下面的代码
    tr td节点容器模板:/td td colspan=2input 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); }
    到此所有的修改就完成了,在修改文件时候记得一定要进行备份。效果可以看看:如果不会修改的可以到: 去下载修改好的文件。
页: [1]
查看完整版本: DEDECMS 5.3 自定义节点容器模板修正