声明下 仅为示例 可优化部分比较多 仅仅是示例
官方前几天发布了万能的fun
函数 有部分人就开始喷了说是方向错误了 为什么不抓紧做模板 做模块等
分类信息发布了 有说缺这个少那个的 当时我就回复了 你需要的功能别人不一定需要 别人需要的你不一定需要还觉得碍事。
为了满足各种网站 各个行业 各个开发者 各个终端用户 官方下了很大的力气 往往更新到深更半夜,你看到的后台一次次升级都是官方辛苦的付出,一次次的升级都是综合大家的意见进行升级改造。
以前只有插件 模块 钩子 这些都已经上架很长时间了好处大家都体验到了,那么fun怎么用呢? 那么废话不多说了开始我们的开发之旅吧!
备注:仅为示例 布局怎么做 样式怎么做 自己想办法了
在application\common\fun
下建立一个 Sufeng.php 首先无耻的用我自己的名字了 建议开发者用自己的名字命名 这样重复的几率很小
<?php
namespace app\common\fun;
class Sufeng{
/**
* 获取手机号归属地
* @param $mobile 手机号
* @return mixed 归属地
*/
public function mobile($mobile){
$url=http_curl("https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=$mobile"."&t=".time());
$res=trim(explode('=',$url)[1]);
$res=iconv('gbk','utf-8',$res);
$res=str_replace("'",'"',$res);
$res=preg_replace('/(\w+):/is','"$1":',$res);
$res=json_decode($res,true);
return $res['carrier'];
}
}
可以看到我们调用了淘宝的接口 返回了归属地 当然了也仅仅支持手机号 固话是不支持的。
文件做好了 那么我们怎么在模板调用呢 很简单。
\template\index_style\default\fenlei\content\pc_show.htm
在你想要的位置加上
归属地:{:fun('Sufeng@mobile',$info['telphone'])}
就可以了 是不是很简单 是不是很容易 小白也可以轻松实现这个功能了。
有人要问了我的有手机号 有固定电话 有400电话 不是手机号的时候能不能不显示这个归属地呢? 答案是可以 而且也十分简单
{notempty name=":fun('Sufeng@mobile',$info['telphone'])"}
归属地:{:fun('Sufeng@mobile',$info['telphone'])}
{/notempty}
备注:$info['telphone']
你可以改为$info.telphone
纯属个人代码习惯 两个方式是等效的。
一个文件就实现了一个小功能 完全不需要集成进去 当然了这个文件可以集成进去N多功能