利用pbootcmsV2.0.6新增的个人扩展标签定制一个每日一图

2023-12-01 0 237

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

于是就想到用这个功能定制一个每日一图。

这个文件位置在 home下ExtLabelController控制器。

话不多说,先找图源。度娘告诉我必应搜索就有每日一图的API。

地址是这个:

https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1

获取到的是一串JSON,正和我意。

用pbootcms自带的get_url方法直接抓取一下就搞定。

上代码:

//抓取必应每日一图
publicfunctiongetBingImage(){
$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;
}

然后再给自己定制一个标签就好啦。

//扩展单个标签
privatefunctiondiylabel()
{
$this->content=str_replace('{pboot:walle}',$this->getBingImage(),$this->content);
}

最后只要在模板文件中写上 {pboot:walle} 就调用出图片地址。把这个放在 <img> 标签中,或者放在 background 中,至此,搞定。

下面是整个ExtLabelController文件的代码:

<?php
/**
*@copyright(C)2020-2099HnaoyunInc.
*@authorXingMeng
*@emailhnxsh@foxmail.com
*@date2020年3月8日
*个人扩展标签可编写到本类中,升级不会覆盖
*/
namespaceapp//home//controller;/*此处双斜杠需要换成单反斜杠*/

usecore//basic//Controller;/*此处双斜杠需要换成单反斜杠*/

classExtLabelController
{

protected$content;

/*必备启动函数*/
publicfunctionrun($content)
{
//接收数据
$this->content=$content;

//执行个人自定义标签函数
$this->diylabel();

//返回数据
return$this->content;
}

//扩展单个标签
privatefunctiondiylabel()
{
$this->content=str_replace('{pboot:walle}',$this->getBingImage(),$this->content);
}

//抓取必应每日一图
publicfunctiongetBingImage(){
$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图欣赏最终效果。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Pbootcms教程 利用pbootcmsV2.0.6新增的个人扩展标签定制一个每日一图 https://www.u-9.cn/jiaocheng/pbootcms-jiaocheng/12676.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务