找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1509|回复: 0

[分享] 织梦dedecms 在会员中心或后台 隐藏特定字段,部分或个别自定义字段的方法

[复制链接]
发表于 2018-7-29 17:52:20 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
为了在普通文章模型上实现多条件筛选功能.需要在后台增加虚拟的自定义字段,字段的值没有使用价值,只是为了实现特殊功能.

比如在后台内容模型管理中,普通文章模型,新增加了n个字段.但在发表文档时,不希望直接显示个别字段,比如商品价格从高到低排序字段myorder字段. 这个字段虽然在后台有定义.但他的值是没有必要在后台固定的,因为在前台点击按价格排序时,程序会执行orderby  price asc 的sql语句.与这个字段本身的值无关.

所以,前台就没有必要显示这个字段.会员中心如果想过滤掉这个字段,需要修改member\inc\inc_archives_functions.PHP中的 PrintAutoFieldsAdd及PrintAutoFieldsEdit函数.把这句

  1. foreach($dtp->CTags as $tid=>$ctag)  
  2.   
  3.      {  
  4.   
  5.          if($loadtype!='autofield'  
  6.   
  7.          || ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1) )  
  8.   
  9.          {  
  10.   
  11.              $dede_addonfields .= ( $dede_addonfields=="" ? $ctag->GetName().",".$ctag->GetAtt('type') : ";".$ctag->GetName().",".$ctag->GetAtt('type') );  
  12.   
  13.              echo  GetFormItemA($ctag);  
  14.   
  15.          }  
  16.   
  17.      }  
复制代码


对比修改为下面这句即可.


  1. foreach($dtp->CTags as $tid=>$ctag){  
  2. if($ctag->GetName()=='myorder'||$ctag->GetName()=='mystate'){  
  3. unset($ctag);//如果字段名为myorder或mystate,则删除字段所在的数组.并跳过下面的执行.  
  4. }else{  
  5. //否则,继续向下执行.  
  6.          if($loadtype!='autofield' ||  $ctag->GetAtt('autofield')==1 )  
  7.          {  
  8.              $dede_addonfields .= ( $dede_addonfields=="" ? $ctag->GetName().",".$ctag->GetAtt('type') : ";".$ctag->GetName().",".$ctag->GetAtt('type') );  
  9.              $addonfieldsname .= ",".$ctag->GetName();  
  10.    
  11.              if ($isprint) echo  GetFormItemA($ctag);  
  12.    
  13.          }  
  14. }  
  15.      }   
复制代码

网站后台修改文件在​dede\inc\inc_archives_functions.php 这里面.修改方法一致.

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

▶专业解决各类DiscuzX疑难杂症、discuz版本升级 、网站搬家 和 云服务器销售!▶有偿服务QQ 860855665 更多精品应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-1-31 07:15 , Processed in 0.045276 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表