Loading... ## 什么是智能头图 * 如果文章中指定了头图,则使用大头图 * 如果文章没指定头图,使用了附件图片做头图,则使用图片模式的头图 * 如果文章既没指定头图,附件也没有图可用,那就会使用随机图片,这时候就使用小头图模式 ## 开始修改 ### 修改`libs/Content.php`文件的`echoPostList`方法 ``` /** * 输出文章列表:首页和archive页面 * @param $obj */ public static function echoPostList($obj) { //todo 优化性能 $options = mget(); $index = 0; if ($options->thumbArrangeStyle == "water_fall") { // echo '<div class="blog-post water-fall">'; echo '<div class="blog-post water-fall-container post-list">'; } else { echo '<div class="blog-post post-list">'; } // print_r($obj); while ($obj->next()) { $parameterArray = array(); $data = Utils::isLock($obj, $index); if ($data["flag"] && Utils::getExpertValue("lock_hide_title",false)){ $parameterArray['title'] = _mt("此内容被加密分类保护"); }else{ $parameterArray['title'] = $obj->sticky . $obj->title; } // $startTime = microtime(true); $parameterArray['imgSrc'] = Content::returnHeaderImgSrc($obj, "index", $index); // $endTime = microtime(true); // print_r(($endTime-$startTime)*1000 . ' ms'); //是否是大版式头图 $styleThumb = strtoupper($obj->fields->thumbStyle); if ($styleThumb == "DEFAULT" || trim($styleThumb) == "") {//跟随外观设置的配置 if ($options->thumbStyle == "0") {//小头图 $parameterArray['thumbStyle'] = "SMALL"; } else if ($options->thumbStyle == "2") {//交错显示 if ($index % 2 == 0) { $parameterArray['thumbStyle'] = "LARGE"; } else { $parameterArray['thumbStyle'] = "SMALL"; } } else if ($options->thumbStyle == "1") {//大头图 $parameterArray['thumbStyle'] = "LARGE"; } else if ($options->thumbStyle == "3") { $parameterArray['thumbStyle'] = "PICTURE"; } else if ($options->thumbStyle == "4") {//智能模式 //如果使用的是默认随机图片, 则使用小头图 if (strpos($parameterArray['imgSrc'],'/img/sj/') !== false) { $parameterArray['thumbStyle'] = "SMALL"; } else if (strlen($obj->fields->thumb) > 0) {//如果文章指定了头图,就使用大图模式 $parameterArray['thumbStyle'] = "LARGE"; } else {//否则就用图片模式 $parameterArray['thumbStyle'] = "PICTURE"; } } else {//默认是大图 $parameterArray['thumbStyle'] = "LARGE"; } } else { $parameterArray['thumbStyle'] = $styleThumb; } if (in_array('NoSummary-index', Utils::checkArray( $options->indexsetup))) { $expertNum = 0; } else { if ($parameterArray['thumbStyle'] == "SMALL") {//小头图 if ($options->numberOfSmallPic == "") {//自定义摘要字数 $expertNum = 80; } else { $expertNum = $options->numberOfSmallPic; } } else { if ($options->numberOfBigPic == "") {//自定义摘要字数 $expertNum = 200; } else { $expertNum = $options->numberOfBigPic; } } } if (trim($obj->fields->customSummary) != "") { $obj->excerpt = $obj->fields->customSummary; } if ($data["flag"]) {//加密分类 $parameterArray['summary'] = Content::excerpt("", $expertNum); } else { $parameterArray['summary'] = Content::excerpt($obj->excerpt, $expertNum); } $parameterArray['linkUrl'] = $obj->permalink; /*if (index == 0){ print_r($obj->author); }*/ $parameterArray['author'] = $obj->author->screenName; $parameterArray['authorUrl'] = $obj->author->permalink; $parameterArray['date'] = $obj->date->timeStamp; $parameterArray['commentNum'] = $obj->commentsNum; // 在使用原生评论系统时候,不进行view数目查询,过多的view查询会导致性能问题 if ($options->commentChoice != "0"){ // $startTime = microtime(true); // $parameterArray['viewNum'] = get_post_view($obj); // $endTime = microtime(true); // print_r(($endTime-$startTime)*1000 . ' ms'); }else{ $parameterArray['viewNum'] = 0; } //是否是首页 $parameterArray['isIndex'] = true; //是否固定图片大小(默认8:3) if (in_array('FixedImageSize', Utils::checkArray( $options->featuresetup))) { $parameterArray['isFixedImg'] = true; } else { $parameterArray['isFixedImg'] = false; } $parameterArray["smallThumbField"] = $obj->fields->thumbSmall; $parameterArray["nothumbStyle"] = $obj->fields->noThumbInfoStyle; $parameterArray["allowComment"] = $obj->allowComment; echo Content::returnPostItem($parameterArray); $index++; } echo '</div>'; } ``` ### 修改`libs/functions_mine.php`文件,即管理员设置面板页,添加智能头图的选项 ``` //首页头图样式选择 $thumbStyle = new Radio('thumbStyle',array( '0' => _t("小头图模式"), '1' => _t("大头图模式"), '3' => _t("图片样式"), '2' => _t("两种样式交错"), '4' => _t("智能模式"), ),"1","首页头图样式选择","小头图是很小正方形显示在文章介绍的左侧</br>大头图则是默认的样式</br>交错样式,则根据文章的奇偶顺序交错显示。</br><span style='color: red'>不管选择哪种,在文章页面还可以针对特定文章修改其样式</span>"); $form->addInput($thumbStyle); ``` ### 设置面板去选择智能模式,搞定  最后修改:2021 年 11 月 05 日 03 : 01 PM © 允许规范转载 赞赏 要多恰饭才能长胖 赞赏作者 支付宝微信