欢迎来到六久阁织梦模板网!
用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,获取不到城市信息。

插件下载说明

未提供下载提取码的插件,都是站长辛苦开发,需收取费用!想免费获取辛苦开发插件的请绕道!

织梦二次开发QQ群

本站客服QQ号:3149518909(点击左边QQ号交流),群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!

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

标签: PbootCMS
  • PbootCms关闭自动更新的方法二开必备
    阅读
    在使用PbootCms做网站的过程中,难免会遇到一些二次开发的内容。网站后台有在线更新的按钮。 如果做了二开,那么更新就需要慎重了。比较保险的做法是禁用掉在线更新。 操作方法 通常的做法是在 \apps\admin\view\default\system\home.html \apps\admin\view\...
  • pbootcms忘记后台密码-pbootcms后台密码遗忘,如何找回?
    阅读
    pbootcms是一款功能强大的内容管理系统,它为用户提供了方便快捷的网站建设和管理工具。由于各种原因,有时候我们可能会忘记pbootcms后台的登录密码,这给我们的网站管理带来了一定的困扰。那么,当我们忘记了pbootcms后台密码时,应该如何找回呢?本文将从...
  • PbootCms导航菜单标签调用小技巧
    阅读
    PbootCms官方群里每天都会有一些小白问一些很简单没啥技术含量的问题,导致大家都懒的教,技术讨论的质量越来越低。 这里我把一些小白常遇到的问题理一理,希望对新手有些帮助,当然,最好还是提升下自身的基础知识储备,早日走向大神之路。 关于导航菜单 {@...
  • pbootcms免费插件下载、pbootcms免费插件下载中心,助你快速获取所需插件
    阅读
    pbootcms是一款免费的内容管理系统,它提供了丰富的插件下载中心,为用户快速获取所需插件提供了便利。我将详细介绍pbootcms免费插件下载和下载中心的各个方面,帮助读者更好地了解和使用这个功能。 1. 插件下载中心的背景 在开始介绍pbootcms的插件下载中心...
  • pbootcms怎么修改网站模板(pbootcms教程:简易教你修改网站模板,打造个性化中心)
    阅读
    pbootcms是一款功能强大的网站模板管理系统,它提供了丰富的模板资源和灵活的修改方式,让用户可以轻松打造个性化的网站。在本篇文章中,我将为大家介绍如何使用pbootcms修改网站模板,以打造个性化的中心。 让我们来了解一下pbootcms的背景信息。pbootcms是...
  • PbootCMS网站打不开,PbootCMS网站无法访问:解决方案大揭秘
    阅读
    在当今数字化时代,网站已经成为人们获取信息、交流和商业活动的重要平台。有时我们可能会遇到PbootCMS网站打不开或无法访问的问题,这给我们的工作和生活带来了困扰。本文将详细阐述PbootCMS网站打不开和无法访问的原因,并提供解决方案,帮助读者解决这一...
  • pbootcms生成静态、pbootcms静态生成:高效实现网站静态化
    阅读
    pbootcms是一款高效的网站管理系统,它提供了静态生成的功能,可以帮助用户将网站内容快速生成静态页面。本文将详细介绍pbootcms生成静态、pbootcms静态生成的过程和优势,希望能引起读者的兴趣。 在互联网时代,网站的访问速度和用户体验是至关重要的。传统...
  • PbootCms扩展控制器本地正常上传到服务器就出错的解决办法
    阅读
    PbootCms扩展标签定制个性化时间的文章定制了自己想要的时间格式,结果本地正常,上传到服务器环境后就不生效。 原因是PbootCms官方的一个小BUG,截至V2.0.9仍然存在。如果你也遇到,可以参考一下解决方案。 解决办法 如下图标记,路径前有一个点。 解决办法...
  • pbootcms后台左边菜单如何修改
    阅读
    第一种:直接后台链接操作 超级管理后台登录后台,手动访问这个链接(你的后台登录地址/Menu/index)打开菜单列表,找到系统管理-系统菜单点击状态启用,接着去重新登录后即可。 注意:截图里用的是默认后台 登录 地址域名/admin.php,根据实际情况输入。 下...
  • pbootcms更换模板方法,pbootcms模板更换方法详解
    阅读
    pbootcms是一款功能强大的开源内容管理系统,它提供了丰富的模板选择,让用户可以轻松更换自己喜欢的模板。本文将详细介绍pbootcms的模板更换方法,帮助读者了解如何进行模板更换,并提供一些实用的技巧和注意事项。 一、背景介绍 pbootcms是一款基于PHP+MyS...
收藏此文 打赏本站

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

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

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐精品模板更多