聯(lián)系官方銷售客服
1835022288
028-61286886
本文章解決問題如下:《內(nèi)容關(guān)聯(lián)類型字段,如果在編輯時候保存不在關(guān)聯(lián)字段中的值》
應(yīng)用場景:
假設(shè) A模塊中的一個 name_id 字段使用的是 B模塊的內(nèi)容關(guān)聯(lián)
B模塊現(xiàn)在 數(shù)據(jù)庫有的數(shù)據(jù)ID(1,2,3,4)
A 模塊name_id 的值為 :1,2
假設(shè)現(xiàn)在因為業(yè)務(wù)需要,需要自定義這個模塊的值為,1,2,33,44
那么現(xiàn)在的系統(tǒng)會自動替換到 不在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); } } }
分享技術(shù)的精神值得鼓勵
針對這個帖子我專門寫了一個不破壞系統(tǒng)的方法:http://223987.com/doc/733.html
回復(fù)迅??蚣軇?chuàng)始人
是的,diy的這個我看了確實很好,可以不破壞系統(tǒng)的,我可以把它完善成 文件的 在分享出來
回復(fù)@ericwolf
在這里還有個問題
我現(xiàn)在已經(jīng)關(guān)聯(lián)了字段類型,有沒有辦法可以在不刪除字段的前提下,改變字段類型
http://223987.com/doc/734.html
回復(fù)@ericwolf
回復(fù)迅??蚣軇?chuàng)始人
好沒問題了
收藏了
收藏了!??!
收藏了?。?!