织梦专题页节点文档调用自定义模型字段方法

修改完DedeCMS专题页节点文章列表样式之后,又遇到一个难题,因为专题页节点文章发布在自定义模型里,我要在列表中把我自定义字段调用出来,DedeCMS默认是不显示的,需要实现这个功能就要进行二次开发了,搜索了好久,整理出一个完美的解决方法

  一、修改专题页新增模板文件,打开/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>节点容器模板:</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";  

  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/10c143e016c7d4b2e62abc43a88d4e88.html