💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# zBlog系统 集成 码迷图床 步骤 ## **集成特色** * 支持首段配图、内容内多个自动配图 * 智能配图,不影响不覆盖已经手动配图的内容 * 集成超级简单,小白也可上手 用户在集成之前,一定要先去了解zBlog的模板语法、后台使用以及html、php语法,不要一有问题就提问。 遇到问题报错,先反思一下自己的技能基础,在看看自己有没有代码错误,**学会用搜索引擎找到对应的解决之道**。 **大家都不是四岁小孩了,而且这个集成非常简单,不提供免费的技术支持以及咨询服务。** ## **预备知识(很简单很简单)** 1. 熟悉简单的html css 语法 2. 熟悉zBlog系统的模板语法 3. 熟悉简单的php语法 4. 不同的模板代码不一样,所以修改的位置也不一样 5. 示例中的图片URL路径要换成自己的图床URL路径 ## **先看结果** 1、列表页 ![](https://img.kancloud.cn/57/90/5790b7b789b58c8e4e4a26917e692c57_1094x828.png) 2、内容页 ![](https://img.kancloud.cn/c2/92/c2927cced6b16745f4b7f9ede960ee6a_1133x801.png) ## **开始集成** :-: ![](https://img.kancloud.cn/f3/70/f3702e45c9359db232eef68d193a87e5_578x318.png) ## 步骤1 确定模板目录 首先,你要根据自己使用的zBlog模板,确定模板对应的文件位置。 ![](https://img.kancloud.cn/27/da/27da5d6006792d175ea2492fef00722d_1107x757.png) 这里以[拓源纯净主题]为例子,模板目录位于zb_users/theme/tpure文件夹下面。 ![](https://img.kancloud.cn/00/3a/003a8a0bd9acad8f5535a8354a0376ac_886x486.png) ## 步骤2 在 zb_users/theme/你的模板目录/include.php 末尾添加如下代码 ``` /*** * 自动配图 * @param $html 文章内容 * @param $title 文章标题 * @param $tuchuang_url 图床路径 * @param $num 图片数量 * @return string|string[] */ function insertImgs($html, $title, $tuchuang_url, $num = 3) { $split_tag = "</p>"; $html = str_replace("<br />", "<br>", $html); $html = str_replace("<br/>", "<br>", $html); $htmlarr = preg_split("%$split_tag%ui", $html); $p_num = count($htmlarr); if ($p_num < $num * 3) { $split_tag = "<br>"; $htmlarr = preg_split("%$split_tag%ui", $html); } $p_num = count($htmlarr); $p_inter = floor($p_num / $num); $imgarr = preg_split("%<img%ui", $html); $img_num = count($imgarr); $html_out = [ '<p style="text-align:center"><img src="' . $tuchuang_url . $title . '__.jpg"/></p>', ]; if ($p_inter > 1 && $num > 1) { foreach ($htmlarr as $i => $item) { if (($i + 1) % $p_inter == 0 && $img_num < $num) { $img_num++; $html_out[] = '<p style="text-align:center"><img src="' . $tuchuang_url . $title . '__' . $i . '.jpg"/></p>'; } else { $html_out[] = $item; } } }else{ $split_tag = ""; $html_out[] = $html; } $html = str_replace("</p></p>", "</p>", implode($split_tag, $html_out)); return $html; } ``` 效果如下: ![](https://img.kancloud.cn/d3/7f/d37f8a47742068d519751eed559f1a89_821x799.png) ## **步骤3 文章内容页集成图床** 一般内容页模板 在zb_users/theme/你的模板目录/template文件夹下面,多数以 post-page.php 以及 post-single.php命名。 内容页你要找含有"Content"字眼的变量。 ``` #旧代码 {$article.Content} #新代码 {php} //用法:insertImgs(文章内容,文章标题,图床路径,图片个数) $article->Content = insertImgs($article->Content ,$article->Title,"http://gen.mamioo.com/test/600/",3); {/php} {$article.Content} ``` ![](https://img.kancloud.cn/56/6b/566b75454139a50f7b569c61eb1d96ec_1087x670.png) ## **步骤4 文章列表页集成图床** 列表页模板 ,多数以 post-page.php 以及 post-multi.php命名。当然你要根据你的具体情况来,不同的模板命名方式略有不同。 列表页你要找含有"Thumb"字眼的变量。 **旧代码:** ``` {if tpure_Thumb($article) != ''} <div class="postimg"> <a href="{$article.Url}" target="_blank"> <img src="{tpure_Thumb($article)}" alt="{$article.Title}"> </a> </div> {/if} ``` **新代码:** ``` {if tpure_Thumb($article) != ''} <div class="postimg"> <a href="{$article.Url}" target="_blank"> <img src="{tpure_Thumb($article)}" alt="{$article.Title}"> </a> </div> {/if} {if tpure_Thumb($article) == ''} <div class="postimg"> <a href="{$article.Url}" target="_blank"> <img src="http://gen.mamioo.com/test/160/{$article.Title}__.jpg" alt="{$article.Title}"> </a> </div> {/if} ``` ![](https://img.kancloud.cn/40/3d/403d87cf55f5a7aa22fbfd5d3ab330c4_1093x729.png) :-: ![](https://img.kancloud.cn/23/73/2373169e5ad707b5257181f46612c954_238x240.png)