最近有些使用PBOOTCMS的群友反映怎么可以让内容的第一张图片设置为缩略图,这样就可以免去再传一次缩略图的麻烦
其实思路还是比较简单的,就是提取内容中的所有图片(img格式的),然后取第一张设置为缩略图。
找到/apps/admin/view/default/content/content.html
在340行和670行左右添加一个设置为缩略图的开关
具体代码如下
<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];//取第一张为缩略图 }
好了可以测试内容第一张图片设置为缩略图功能了!