利用PbootCMSV2.0.6新增的个人扩展标签定制一个每日一图
自PbootCmsV2.0.6开始,PbootCMS支持自定义标签,且升级不被覆盖。妈妈再也不用担心我的代码升级被覆盖啦。
于是就想到用这个功能定制一个每日一图。
这个文件位置在 home下ExtLabelController控制器。
话不多说,先找图源。度娘告诉我必应搜索就有每日一图的API。
地址是这个:
https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
获取到的是一串JSON,正和我意。
用pbootcms自带的get_url方法直接抓取一下就搞定。
上代码:
//抓取必应每日一图 public function getBingImage(){ $url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1'; $data = json_decode(get_url($url)); $result = $data->images[0]; $image = 'https://www.bing.com'.$result->url; return $image; }
然后再给自己定制一个标签就好啦。
// 扩展单个标签 private function diylabel() { $this->content = str_replace('{pboot:walle}', $this->getBingImage(), $this->content); }
最后只要在模板文件中写上 {pboot:walle} 就调用出图片地址。把这个放在 <img> 标签中,或者放在 background 中,至此,搞定。
下面是整个ExtLabelController文件的代码:
<?php /** * @copyright (C)2020-2099 Hnaoyun Inc. * @author XingMeng * @email hnxsh@foxmail.com * @date 2020年3月8日 * 个人扩展标签可编写到本类中,升级不会覆盖 */ namespace app//home//controller; /* 此处双斜杠需要换成单反斜杠*/ use core//basic//Controller; /* 此处双斜杠需要换成单反斜杠*/ class ExtLabelController { protected $content; /* 必备启动函数 */ public function run($content) { // 接收数据 $this->content = $content; // 执行个人自定义标签函数 $this->diylabel(); // 返回数据 return $this->content; } // 扩展单个标签 private function diylabel() { $this->content = str_replace('{pboot:walle}', $this->getBingImage(), $this->content); } //抓取必应每日一图 public function getBingImage(){ $url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1'; $data = json_decode(get_url($url)); $result = $data->images[0]; $image = 'https://www.bing.com'.$result->url; return $image; } }
最终效果,请移步http://www.a8yun.com/首页banner图欣赏最终效果。
转载自:Pb素材网合作伙伴 pbootcms技术网(www.pbhtml.com) 如需二开请移步到本站应用中心
PB2345模板网免责声明
1、本站所有模板素材资源均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。2、PB2345模板网作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益。
3、非平台线上交易的项目,出现任何后果均与PB2345模板王无关;无论卖家以何理由要求线下交易的,请联系管理举报。
注意事项
1、本站所有素材资源均来自用户分享和发布,大部分未经测试可用,并不保证百分百无误及完整。2、素材资源仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
3、PB2345模板网会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全。
4、PB2345模板网无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别。