欢迎来到六久阁织梦模板网!
用PbootCms扩展定制一个访客当地天气功能

用PbootCms扩展定制一个访客当地天气功能

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 未知

更新日期: 2022-03-26

文章简介

PbootCms交流群里有同学提出给PbootCms加一个天气。安排。 实现思路 首先我们要获取访客IP,pb有写好的方法,get_user_ip(),这个就不用重复去写了。 有了IP地址就要去查IP归属城市, 查询好归属地之后再用归属地去查询当地天气。 根据IP查询城市 百度地图有

  • 正文开始
  • 热门文章

PbootCms交流群里有同学提出给PbootCms加一个天气。安排。

实现思路

首先我们要获取访客IP,pb有写好的方法,get_user_ip(),这个就不用重复去写了。


有了IP地址就要去查IP归属城市,

查询好归属地之后再用归属地去查询当地天气。

根据IP查询城市

百度地图有我需要的接口,首先你需要有一个AK:可以到百度地图开放平台去申请,当然你也可以直接用我的,我不介意。

image.png

我们先测试下,看看百度地图API返回的信息:

image.png

这个city是我想要的值。


根据city查询天气

我这里用的今日头条的API,如果你需要用其他的API可以自行对照修改。


我们来看看头条的API返回内容:

image.png

这个接口返回的内容还是很多的,不要慌,红框里是我想要的内容,提取出来就行了。


好了,万事是具备,只欠代码。


上代码

修改文件:apps/home/controller/ExtLabelController.php

首先在run方法中,加入自定义标签$this->diylabel();方法


    /* 必备启动函数 */

    public function run($content)

    {

        // 接收数据

        $this->content = $content;

        

        // 执行个人自定义标签函数

        $this->diylabel();


        // 返回数据

        return $this->content;

    }

紧接着,给出自定义标签的方法


    // 扩展单个标签

    private function diylabel()

    {

        $this->content = str_replace('{pboot:weather}', $this->getWeather(), $this->content);

    }

接下来就是要返回标签替换的内容,接着写


    //获取当地天气

    private function getWeather(){

        $city = $this->get_ip_city();

        $url = "https://www.toutiao.com/stream/widget/local_weather/data/?city={$city}";

        $result = get_url($url);

        $result = json_decode($result,true);

        //这里可以按照你需要自行组合

        return $city.' 今天'.$result['data']['weather']['day_condition'].' 当前气温'.$result['data']['weather']['current_temperature'];

    }


    //获取城市

    private function get_ip_city(){

        $ip = get_user_ip();

        $url   = 'http://api.map.baidu.com/location/ip?ip=' . $ip . '&ak=x7sOPlIYZkFO9eXZHwEj4bc06IhqhdoF';

        $html  = file_get_contents($url);

        $res   = json_decode($html);

        $city  = $res->content->address_detail->city; //城市

        return $city;

    }

使用方法

在模板中使用{pboot:weather}即可。

上效果图:

image.png

呐,你们要的自定义天气标签,也可以根据你的实际需求把天气用图片来显示,更美观,这个就请自行尝试吧。

提示:该代码需要正式环境生效,本地环境IP可能是127.0.0.*或者localhost,获取不到城市信息。

转载请注明: 织梦模板 » 用PbootCms扩展定制一个访客当地天气功能

标签: PbootCMS
  • PbootCms关闭自动更新的方法二开必备
    阅读
    在使用PbootCms做网站的过程中,难免会遇到一些二次开发的内容。网站后台有在线更新的按钮。 如果做了二开,那么更新就需要慎重了。比较保险的做法是禁用掉在线更新。 操作方法 通常的做法是在 \apps\admin\view\default\system\home.html \apps\admin\view\...
  • PbootCms百度小程序和微信小程序API封装教程
    阅读
    下面是封装步骤(封装文件在文章最后提供下载,供大家参考)。 1、准备md5加密文件。 因为PbootCMS的签名参数signature是经过双层md5加密的,当然如果后台WebAPI没有开启强制认证的,这一步可以跳过。 2、封装一下API的请求方法。 //声明一个请求函数 functi...
  • PbootCms扩展控制器本地正常上传到服务器就出错的解决办法
    阅读
    PbootCms扩展标签定制个性化时间的文章定制了自己想要的时间格式,结果本地正常,上传到服务器环境后就不生效。 原因是PbootCms官方的一个小BUG,截至V2.0.9仍然存在。如果你也遇到,可以参考一下解决方案。 解决办法 如下图标记,路径前有一个点。 解决办法...
  • PbootCms的Tag标签的调用及使用说明
    阅读
    很多初学者在使用PbootCms的过程中都会遇到各种各样的问题,有很多问题其实真的是很简单,不过是没有耐心去仔细翻阅开发手册。只要多一份耐心仔细查阅都能找到答案。 我们来整理一些初学者常遇到的问题。今天讲一些TAG标签,初学者可以看看,大佬就请直接绕...
  • 用PbootCms的API接口制作Ajax无刷新留言
    阅读
    我们在制作模板的过程中,经常会使用到留言板等表单提交功能,常规的表单提交方式每次提交会有一个跳转,对访客不友好。有没有更好的UEO(用户体验)方案呢?有的,PbootCms有留言、表单的API接口,我们来做一个Ajax方式提交留言 。 实现过程 首先,写好表单...
  • PbootCms导航菜单标签调用小技巧
    阅读
    PbootCms官方群里每天都会有一些小白问一些很简单没啥技术含量的问题,导致大家都懒的教,技术讨论的质量越来越低。 这里我把一些小白常遇到的问题理一理,希望对新手有些帮助,当然,最好还是提升下自身的基础知识储备,早日走向大神之路。 关于导航菜单 {@...
  • 如何清理PbootCMS程序中的冗余无效图片
    阅读
    PbootCms默认是没有图片管理器的,所以若是使用相同的图片,都需要每次重新上传。再加上误传的、更新的图片,项目目录里就会产生很多冗余图片,文件夹越来越大,备份越来越臃肿。 针对已经存在的站点我们开发了一个冗余文件处理功能。 先来上一波图: 有图有...
  • PbootCms扩展个性化日期调用
    阅读
    PbootCms默认的日期标签可以使用style=Y-m-d形式定制日期格式。这不是本着把扩展标签玩出花样的目的来搞一搞事情。(当然也是给各位做一个学习参考) 我想要的效果是,发布时间可以显示: 刚刚 1小时前; 昨天 几点几分; 前天 几点几分; 年月日 几点几分;...
  • PbootCms制作ajax无刷新加载列表内容
    阅读
    Ajax无刷新加载内容,看起来高大上一点,但是对SEO是不太友好的,所以在使用的时候应该有个取舍。 由于PbootCMS的Api接口的存在,在PbootCMS上实现Ajax加载还是比较方便的。 实现步骤 一、点击更多按钮加载内容 1、首先,添加一个按钮用来触发事件。 button...
  • PbootCms在模板中对定制标签中的内容进行二次处理
    阅读
    在模板制作过程中,会遇到这样的需求: 1、模板中的文案样式不统一,客户需要自己能修改 2、客户有多个销售QQ需要在页面展示 可以解决问题的方案 使用PbootCms中的定制标签功能,不断的增加标签,将标签集成进模板中,达到可自行修改的目的。 方案缺点很明显...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
PbootCms程序模板中怎么写PHP代码
« 上一篇 2022年03月26日
PbootCms的Tag标签的调用及使用说明
下一篇 » 2022年03月26日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐精品模板更多
绿色新闻资讯织梦模板带测试数据
更新时间:2017-08-10

人已经看过了!

营销型智能集成吊顶行业织梦模板(带手机端)
更新时间:2020-12-19

人已经看过了!

卧室家居家具类织梦模板(带手机端)
更新时间:2019-09-05

人已经看过了!

响应式室内设计工程施工类织梦模板(自适应手机端)
更新时间:2018-06-07

人已经看过了!

织梦响应式博客仿杨青博客网站模板利于收录排名
更新时间:2020-02-27

人已经看过了!

律师事务所网站织梦dede模板(中英双语自适应模板)
更新时间:2019-11-07

人已经看过了!