您现在的位置是:首页 > 教程 > pbootcms教程pbootcms教程

pbootcms实现每日一图的代码示例

寻文2024-12-11 18:03:18pbootcms教程已有人查阅

导读自PbootCmsV2.0.6开始,PbootCMS支持自定义标签,且升级不被覆盖。妈妈再也不用担心我的代码升级被覆盖啦。

自PbootCmsV2.0.6开始,PbootCMS支持自定义标签,且升级不被覆盖。妈妈再也不用担心我的代码升级被覆盖啦。
于是就想到用这个功能定制一个每日一图。这个文件位置在 home下ExtLabelController控制器。
我们先找图源。通过百度找到必应搜索的API。获取到的是一串JSON,正是我们需要的。用pbootcms自带的get_url方法直接抓取一下就搞定。
上代码:
//抓取必应每日一图
public function getBingImage(){
$url = 'https:// .bing.com/HPImageArchive.aspx?format=js&idx=0&n=1';
$data = json_decode(get_url($url));
$result = $data->images[0];
$image = 'https:// .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 AndyGuo .
* @author AndyGuo
* @email vip@d163.net
* @date 2020年4月5日
* 个人扩展标签可编写到本类中,升级不会覆盖
*/
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:// .bing.com/HPImageArchive.aspx?format=js&idx=0&n=1';
$data = json_decode(get_url($url));
$result = $data->images[0];
$image = 'https:// .bing.com'.$result->url;
return $image;
}
}

本文标签:

很赞哦! ()

留言与评论 (共有 条评论)
验证码:

相关标签