只做利于SEO的网站,提供网站建设、SEO、网站代运营等服务。服务中心 | 建站流程 | 网站地图

PHP开发随机切换两个或多个电话

2021-03-01小猴建站 阅读()相关主题:

在WEB开发中,和用户沟通的方法很多,比如在线客服(爱番番、53KF、乐语等)、QQ、微信、400、固定电话、手机、邮箱等,不少网站是所有方式都放了,有些业务需要多个客服电话。其实各种沟通方式各有优劣,要根据自己的需要选择,就不展开说了。

如果多个用户同时拨打电话某个客服电话的时候会提示占线中,不能获得更多有效信息。目前400电话比较合理,有彩铃,占线自动跳转到下一个绑定的电话/手机,当然有数量限制。但对很多企业来说并没有这么大的咨询量,用两三个电话就足够了。

这里介绍的是PHP方法,结合DedeCMS说明。

CMS后台修改增加部分

织梦可以添加自定义全局函数,比较方便,以下笔者做了一些修改,把“客服设置”单独提出来,大家也可以不这样弄,添加变量的时候选择“站点设置”即可。

客服设置

目前设置了5个客服,电话字段为“文本”,值班字段为“布尔值”。甲方希望两个电话出现在不同的地方,两个电话对重复或不重复出现没有要求,就打算把PHP写到模板上。如果希望都一样,也可以写在/include/extend.func.php 里面,根据实际情况选择。

CMS模板(PHP)部分

这里涉及到多个PHP知识,我尽量写得简单、易于理解。看代码段:

{dede:php}
$tela = preg_replace('/\D/s','',$dianhuaa);//正则,提取字段中的数字部分
$telb = preg_replace('/\D/s','',$dianhuab);
$telc = preg_replace('/\D/s','',$dianhuac);
$teld = preg_replace('/\D/s','',$dianhuad);
$tele = preg_replace('/\D/s','',$dianhuae);

//把值班的布尔值放到$arr数组里
$arr = array(
 $tela => "$dianhuaaz",//布尔值N
 $telb => "$dianhuabz",//布尔值N
 $telc => "$dianhuacz",//布尔值N
 $teld => "$dianhuadz",//布尔值Y
 $tele => "$dianhuaez" //布尔值Y
);

//键值为"Y"的有两个 $teld 和 $tele ,返回包含数组中所有键名的新数组
$keys = array_keys($arr,'Y');

//随机从$keys数组中选出一个元素(默认一个)
$zhiban = array_rand($keys);

//返回数组 $keys键值 0 或者 1 的值
echo $keys[$zhiban];
{/dede:php}

如果同时选择3个或多个电话进行循环展示直接在后台勾选就行了。每次刷新或者用户重新进入的时候,电话就会在被勾选的两个或多个切换,达到目的。但这种随机数并不可控,还是会产生占线的问题,只是实现成本已经很低了。