PBOOTCMS内容第一张图片设置为缩略图详解

最近有些使用PBOOTCMS的群友反映怎么可以让内容的第一张图片设置为缩略图,这样就可以免去再传一次缩略图的麻烦

其实思路还是比较简单的,就是提取内容中的所有图片(img格式的),然后取第一张设置为缩略图。


找到/apps/admin/view/default/content/content.html

在340行和670行左右添加一个设置为缩略图的开关

缩略图1.jpg

具体代码如下

<div class="layui-form-item">
    <label class="layui-form-label">内容首图</label>
    <div class="layui-input-block">
    <input type="checkbox" name="setico" value="1" title="设置为缩略图">
    </div>
</div>

按钮开启才会使内容第一张图设置为缩略图,如果不开启就默认添加缩略图


接下来就是实现的方法

找到文件/apps/admin/controller/content/ContentController.php

在第90行和第435行添加代码

$setico = post('setico');//设置开关

在第120行和466行添加代码

if ($setico=='1' && isset($_POST['content'])) {
    preg_match_all("/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png]))['|"].*?[/]?>/",$_POST['content'],$match);//查找内容中所有图片
    $ico = $match[1][0];//取第一张为缩略图
}

缩略图2.jpg

好了可以测试内容第一张图片设置为缩略图功能了!