# 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)