联系官方销售客服

1835022288

028-61286886

分享经验 版主:论坛审计组
PHP程序里面本文章解决问题如下《内容关联类型字段如果在编辑
类型:迅睿CMS 更新时间:2021-03-11 23:17:47
PHP程序里面

本文章解决问题如下:《内容关联类型字段,如果在编辑时候保存不在关联字段中的值》


应用场景:


假设 A模块中的一个 name_id 字段使用的是 B模块的内容关联


B模块现在 数据库有的数据ID(1,2,3,4)


A 模块name_id 的值为 :1,2


假设现在因为业务需要,需要自定义这个模块的值为,1,2,33,44


那么现在的系统会自动替换到 不在B模块中的值


那么修改文件:dayrui/Fcms/Field/Related.php


代码如下:

$value = @trim($value, ',');
      if ($value && is_string($value)) {
          $value_object_array = explode(",",$value);
   $db = \Phpcmf\Service::M()->db->query('select id,title,url from '.\Phpcmf\Service::M()->dbprefix(SITE_ID.'_'.$module).' where id IN ('.$value.') order by instr("'.$value.'", id)');
          $query = $db ? $db->getResultArray() : [];
          if ($query) {
              foreach ($query as $t) {
                  $id = $t['id'];
                  if(in_array($id,$value_object_array)){
                      $key = array_search($id,$value_object_array);
                      unset($value_object_array[$key]);
                  }
                  $value = '<a href="'.$t['url'].'" target="_blank">'.$t['title'].'</a>';
                  $str.= str_replace(array('{id}', '{value}', '\\'), array($id, $value, ''), $tpl);
              }
              foreach($value_object_array as $t){
                  $value = '<a href="#" target="_blank">未知自定义</a>';
                  $str.= str_replace(array('{id}', '{value}', '\\'), array($t, $value, ''), $tpl);
              }
          }else{
              foreach($value_object_array as $t){
                  $value = '<a href="#" target="_blank">未知自定义</a>';
                  $str.= str_replace(array('{id}', '{value}', '\\'), array($t, $value, ''), $tpl);
              }
          }
}


回帖
  • #1楼    迅睿框架创始人
    2019-08-20 08:15:32
    Chrome 0
    分享技术的精神值得鼓励针对这个帖子我专门写了一个不破坏系统的方法:https://www.xunruicms.com/doc/733.html
  • 新手上路
    #2楼    新手上路
    2019-08-20 09:16:33
    Chrome 0
    收藏了
  • ericwolf
    #3楼    ericwolf
    2019-08-20 10:04:36
    Chrome 0
    回复迅睿框架创始人是的,diy的这个我看了确实很好,可以不破坏系统的,我可以把它完善成 文件的 在分享出来
  • ericwolf
    #4楼    ericwolf
    2019-08-20 10:26:17
    Chrome 0
    ericwolf在这里还有个问题我现在已经关联了字段类型,有没有办法可以在不删除字段的前提下,改变字段类型
  • #5楼    迅睿框架创始人
    2019-08-20 10:40:12
    Chrome 0
  • ericwolf
    #6楼    ericwolf
    2019-08-20 20:12:36
    Chrome 0
    回复迅睿框架创始人好没问题了
  • 流浪的乞丐
    #7楼    流浪的乞丐
    2020-09-26 22:13:56
    小米手机 0
    收藏了!!!
  • 吃不痴
    #8楼    吃不痴
    2021-03-11 23:17:47
    Chrome 0
    收藏了!!!