最近在使用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://m.survivalescaperooms.com
新聞熱點
疑難解答