自定义缩略图,列表缩略图片,未设置则调用文章首图,首图也没有,调用自定义默认图片,本教程对图片进行的裁剪处理,已方便减少图片请求所产生的带宽问题,操作步骤如下。
1、添加《原生代码上传图片》代码
https://www.yieer.com/course/zblogphp-yuan-sheng-dai-ma-sha.html
2、在文章编辑页面接口位置添加代码
function ActivePlugin_ytecn_ai_xzjt() { Add_Filter_Plugin('Filter_Plugin_Edit_Response5','ytecn_ai_xzjt_edit_response'); }function ytecn_ai_xzjt_edit_response() { global $zbp, $article; echo '<script type="text/javascript" src="' . $zbp->host . 'zb_users/plugin/ytecn_ai_xzjt/script/upload.js"></script>'; echo '<style type="text/css"> .ytecn_input_img{width:40%!important;} .ytecn_upimgbutton{ width:120px;} .ytecn_upimg{width:100px;vertical-align: middle;}</style>'; echo '<div id="tesetu">缩略图1: <input name="meta_pic" id="edtTitle" type="text" class="ytecn_input_img" value="' . $article->Metas->tesetu1 . '" /> <input type="button" class="ytecn_upimgbutton" value="选择图片"> <img class="ytecn_upimg" src="' . $article->Metas->pic. '"> </div>'; echo '<div id="tesetu">缩略图2: <input name="meta_pic2" id="edtTitle" type="text" class="ytecn_input_img" value="' . $article->Metas->tesetu2 . '" /> <input type="button" class="ytecn_upimgbutton" value="选择图片"> <img class="ytecn_upimg" src="' . $article->Metas->pic2. '"> </div>';}
3、通过Filter_Plugin_Post_Get接口,添加图片自定义输出字段,并处理逻辑关系。
function ActivePlugin_ytecn_ai_xzjt() { Add_Filter_Plugin('Filter_Plugin_Post_Call', 'ytecn_nana_Post_Call');}function ytecn_nana_Post_Call($post, $method, $args){ global $zbp; if ($method == 'img') { $GLOBALS['hooks']['Filter_Plugin_Post_Call']['ytecn_nana_Post_Call'] = PLUGIN_EXITSIGNAL_RETURN; if (!empty($post->Metas->pic)) { $img[] = $post->Metas->pic; } elseif($post->ImageCount) { $img[] = $post->AllImages[0]; } else { $random = mt_rand(1, 10); $img[] = $zbp->host . 'zb_users/theme/ytecn_nana/image/random/' . $random . '.png'; } if(empty($args)){ return $img[0]; }else{ $width = $args[0]; $height = $args[1]; $imgs = Thumb::Thumbs($img, $width, $height); return $imgs[0]; } }}
5、前台调用,在需要的地方,输入
{$article->img(200,100)}
img括号里面的是裁剪的宽和高。
如不需要裁剪,则输入
{$article->img()}