首页 > 网站 > 建站经验 > 正文

dedecms5.7专题节点容器无效的解决办法

2024-04-25 20:51:28
字体:
来源:转载
供稿:网友

最近在使用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测试通过,修改文件时候记得一定要备份。

文章转载请注明来源: http://www.vevb.com 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表