聯系官方銷售客服
1835022288
028-61286886
本文章解決問題如下:《內容關聯類型字段,如果在編輯時候保存不在關聯字段中的值》
應用場景:
假設 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); } } }
分享技術的精神值得鼓勵
針對這個帖子我專門寫了一個不破壞系統的方法:http://www.zbshanke.com/doc/733.html
回復迅睿框架創始人
是的,diy的這個我看了確實很好,可以不破壞系統的,我可以把它完善成 文件的 在分享出來
回復@ericwolf
在這里還有個問題
我現在已經關聯了字段類型,有沒有辦法可以在不刪除字段的前提下,改變字段類型
http://www.zbshanke.com/doc/734.html
回復@ericwolf
回復迅睿框架創始人
好沒問題了
收藏了
收藏了!!!
收藏了!!!