• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦DEDECMS专题页节点文档怎么调用自定义模型字段?
    POST TIME:2021-05-23 02:22

    修改完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" >
    
    <input type="button" name="selno<?php echo $i?>" value="浏览..." onClick="SelectTemplets('form1.notetemplet<?php echo $i?>');"></td>
    
    </tr>

    在下面添加代码:

    <tr>
    
    <td>扩展字段:</td>
    
    <td colspan="2">
    
    <input id="addfields<?php echo $i?>" 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?>" ><?php echo $temp?></textarea></td>
    
    </tr>
    
    在下面添加代码:
    
    <tr>
    
    <td>扩展字段:</td>
    
    <td colspan="2">
    
    <input id="addfields<?php echo $i?>" 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}rn";

     

    都修改完毕后保存上传覆盖, 添加和编辑两个模版和两个PHP处理文件都要修改,不要忘了,完成后,专题页的文档节点页面会新增自定义模型id和字段的输入框:

    然后在调用标签里把自己想要调用的自定义字段写进去就可以了。

     
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!