PbootCMS用扩展标签定制一个每日一图
时间:2024年01月27日
/来源:网络
/编辑:佚名
            自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 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://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;
}
    
}
          于是就想到用这个功能定制一个每日一图。
这个文件位置在 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 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://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;
}
}
 新闻资讯 更多 
            - 【pbootcms教程】pbootcms模板制作教程-首页Banner轮播如何制作01-28
 - 【pbootcms教程】Pbootcms内容轮播多图添加自定义图片名称01-28
 - 【pbootcms教程】PbootCMS二开之邮件配置修改发件人信息01-27
 - 【pbootcms教程】PbootCMS实现详情页链接不带父级目录直接ID访问教程01-27
 - 【pbootcms教程】PbootCMS后台增加轮播图自定义分组名称01-27
 - 【pbootcms教程】PbootCMS用扩展标签定制一个每日一图01-27
 - 【pbootcms教程】PbootCMS会话目录写入权限不足解决办法01-27
 - 【pbootcms教程】php多图片上传的实现(pbootcms多图上传)01-24
 
 猜你需要 
             热门文章
          
        
        
      - 178Moban源码谈谈免费源码与收费源码的区别
 - 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
 - 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
 - 4帝国CMS和WordPress 哪个好?哪个适合建站?
 - 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
 - 6帝国cms灵动标签取得内容和栏目链接地址
 - 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
 - 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
 - 9帝国cms后台登录出现”您还未登录”怎么解决?
 - 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法
 



豫ICP备2021026617号-1
豫公网安备:41172602000185