DT系统中,在一个模块中加入一条新的信息,是插入到对应的表中,
但是用户的联系方式是通过什么函数写入到表的相应字段中的呢,以sell这个模块为例,
sell/my.inc.php中调用$do->add($post);
$do此时是sell/sell.class.php文件中定义的类的一个实例
在add与edit函数中,写入前台数据后都去调用这个函数
$this->update($this->itemid);
在这个函数中,对户的信息进行了检索并进行了写入
$member = $item['username'] ? userinfo($item['username']) : array();
if ($member) $update .= update_user($member, $item);
if ($update) $this->db->query("UPDATE {$this->table} SET " . (substr($update, 1)) . " WHERe itemid=$itemid");
但这样的带来一个问题,如果用户不希望使用注册时使用的手机号码与联系人的信息,那么这个地方就没有办法修改,给用户带来的麻烦。
所以将这个地方,修改一下,如果说用户从前台传入了数据,那么就不在更新,如果没有传入数据,也不影响之前的用户调用。
function update($itemid,$postuser=array())
{
if(!$postuser)
{
$member = $item['username'] ? userinfo($item['username']) : array();
if ($member) $update .= update_user($member, $item);
}
}
在add函数中加入以下代码就可以了
$userinfo['truename'] = $post['truename'];
$userinfo['mobile'] = $post['mobile'];
$this->update($this->itemid,$userinfo);