修改完DedeCMS專題頁節(jié)點文章列表樣式之后,又遇到一個難題,因為專題頁的節(jié)點文章發(fā)布在自定義模型里,我要在列表中把我自定義的字段也調用出來,DedeCMS默認是不顯示的,需要實現(xiàn)這個功能就要進行二次開發(fā)了,搜索了好久,整理出一個完美的解決方法:
一、修改專題頁新增模板文件,打開/dede/templets/spec_add.htm,查找代碼(大概在第354行):
<input name="rownum<?php echo $i?>" type="text" id="rownum<?php echo $i?>" value="10" size="3">
在下面添加代碼(value 的值就是自定義模型頻道ID):
頻道ID:<input name="channel<?php echo $i?>" type="text" id="channel<?php echo $i?>" value="17" size="3">
查找代碼(大概在第364行):
<tr>
<td>節(jié)點容器模板:</td>
<td colspan="2"><input 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>
<td>擴展字段:</td>
<td colspan="2">
<input id="addfields<?php echo $i?>" style="width: 663px;" type="text" name="addfields<?php echo $i?>" value="<?php echo $addfields?>"/>
</td>
</tr>
二、修改專題頁編輯模板文件,打開/dede/templets/ spec_edit.htm,查找代碼(大概在第424行):
<input name="rownum<?php echo $i?>" type="text" id="rownum<?php echo $i?>" value="<?php echo $rownum?>" size="3">
在下面添加代碼(value 的值就是自定義模型頻道ID):
頻道ID:<input name="channel<?php echo $i?>" type="text" id="channel<?php echo $i?>" value="17" size="3">
查找代碼(大概在第428行):
<tr>
<td colspan="2">單條記錄的模板:<br/>
<textarea name="listtmp<?php echo $i?>" rows="3" id="listtmp<?php echo $i?>" style="width:60%"><?php echo $temp?></textarea></td>
</tr>
在下面添加代碼:
<tr>
<td>擴展字段:</td>
<td colspan="2">
<input id="addfields<?php echo $i?>" style="width: 663px;" type="text" name="addfields<?php echo $i?>" value="<?php echo $addfields?>"/>
</td>
</tr>
查找代碼(大概在第369行):
$noteid = $ctag->GetAtt('noteid'); 在下面添加代碼: $channel = $ctag->GetAtt('channel'); $addfields = $ctag->GetAtt('addfields'); $notetemplet = $ctag->GetAtt('notetemplet'); |
三、修改專題頁新增/編輯核心文件,分別打開 dede/spec_add.php和dede/spec_edit.php,查找代碼(spec_add.php 文件中大概在第114行,spec_edit.php 文件中大概在第170行 ):
$listtmp = trim(${'listtmp'.$i});
在下面添加代碼:
$addfields = trim(${'addfields'.$i}); $notetemplet = trim(${'notetemplet'.$i}); $infolen = trim(${'infolen'.$i}); $channel = trim(${'channel'.$i}); |
查找代碼(spec_add.php 文件中大概在第148行,spec_edit.php 文件中大概在第238行 ):
$notelist .= "
將這段代碼修改為:
$notelist .= "{dede:specnote notetemplet=\\'$notetemplet\\' imgheight=\\'$imgheight\\' imgwidth=\\'$imgwidth\\' infolen=\\'$infolen\\' titlelen=\\'$titlelen\\' col=\\'$col\\' idlist=\\'$okids\\' name=\\'$notename\\' noteid=\\'$noteid\\' isauto=\'$isauto\' rownum=\\'$rownum\\' keywords=\\'$keywords\\' typeid=\\'$typeid\\' addfields=\\'$addfields\\'} $listtmp {/dede:specnote}\r\n"; |
都修改完畢后保存上傳覆蓋, 添加和編輯兩個模版和兩個PHP處理文件都要修改,不要忘了,完成后,專題頁的文檔節(jié)點頁面會新增自定義模型id和字段的輸入框:
然后在調用標簽里把自己想要調用的自定義字段寫進去就可以了。
版權聲明: 本站資源均來自互聯(lián)網或會員發(fā)布,如果侵犯了您的權益請與我們聯(lián)系,我們將在24小時內刪除!謝謝!
轉載請注明: 織夢專題頁節(jié)點文檔調用自定義模型字段方法