加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

dedecms5.7专题节点容器无效的处置办法

发布时间:2022-05-18 14:07:42 所属栏目:经验 来源:互联网
导读:最近在使用dedecms5.7时发现,它的专题结点容器模板不能保存,其实早期的版本也有同样的问题.仔细看了看源码,原来根本没有启用,在网上找了一些资料是5.5版的,使用后有些毛病,于是改动了一下,并重新测试通过,贴出来和使用dedecms的朋友们共享. 1.修改
        最近在使用dedecms5.7时发现,它的专题结点容器模板不能保存,其实早期的版本也有同样的问题.仔细看了看源码,原来根本没有启用,在网上找了一些资料是5.5版的,使用后有些毛病,于是改动了一下,并重新测试通过,贴出来和使用dedecms的朋友们共享.
 
1.修改添加/编辑专题的模板文件
        文件位于 dede/templets下面的 spec_edit.htm 文件,这里有两处要做修改
 
        先找到"if(empty($rownum)) $rownum = 40;",在下面添加
 
        $notetemplet = $ctag->GetAtt('notetemplet');
      if(empty($notetemplet)) $notetemplet = 'channel_spec_note.htm';
 
再找到“单条记录的模板:” ,在</tr>后面添加
 
<tr>
    <td>节点容器模板:</td>
<td colspan="2"><input name="notetemplet<?php echo $i?>" type="text" id="notetemplet<?php echo $i?>" value="<?php echo $notetemplet?>" 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");
}
 
在dedecms5.7测试通过,修改文件时候记得一定要备份。

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!