zblog php mip主题开发官方指南

由于百度对MIP的支持使得MIP网页大受欢迎,众多站长纷纷把网页改造成MIP。作为国内主流的开源博客程序,zblog主题的mip改造需求也是庞大,因此zblog官方推出了MIP支持插件,通过该插件可以让网站即时拥有一个简单的子目录mip站点,同时也可以基于该插件开发zblog主题。

MIP主题类型

通过MIP支持插件可以开发普通的zblog主题和独立的zblog主题,普通主题即是依赖该插件的可以在后台主题管理自由切换的主题;独立主题则是启用插件后,默认会有/mip/子目录并自带主题,可以通过http://域名/mip/访问。

独立主题开发

启用MIP支持插件后,默认会有/mip/这一子目录,内有自带主题。此处的主题与后台设置的主题无关,独立主题,即是设置此处的主题。

在后台新建一个插件后,创建template目录,在include.php文件插入以下代码(仅为示例,注意将应用ID换为自己的应用ID):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
#注册插件
RegisterPlugin("应用ID","ActivePlugin_应用ID");
 
function ActivePlugin_应用ID() {
  Add_Filter_Plugin('Filter_Plugin_MIP_Template', '应用ID_MIP_Template');
}
 
function 应用ID_MIP_Template(&$template) {
  $files = GetFilesInDir(dirname(__FILE__) . '/template', 'php');
  foreach ($files as $sortname => $fullname) {
      $template->templates[$sortname] = file_get_contents($fullname);
  }
}
 
function InstallPlugin_应用ID() {}
function UninstallPlugin_应用ID() {}
结构如图:

zblog php mip主题开发官方指南

然后,您就可以像开发普通的主题一样开发MIP主题了。示例见:https://app.zblogcn.com/mip/

通用开发指南(普通主题)

主题首先必须依赖MIP支持插件,要在主题内启用MIP,按照以下方法操作:

1、在主题内部的ActivePlugin_主题ID函数,插入代码:

1
mip_active();

2、在主题内部的header.php,插入代码:

1
<meta name="bloghost" content="{$host}">

3、如果主题没有<style mip-custom>,则在header.php插入

1
<style mip-custom>{$mipstyle}</style>

如果有<style mip-custom>,则请把{$mipstyle}插入到</style>之前。

4、此时,您可以使用MIP插件提供的功能了。

扩展

评论

1、将主题内的{template:comments}替换成

1
<mip-zblogphp-comment post-id="{$article.ID}"></mip-zblogphp-comment>

2、在主题的footer.php文件插入代码

1
<script src="https://c.mipcdn.com/static/v1/mip-zblogphp-comment/mip-zblogphp-comment.js"></script>

3、(可选)将mip插件内的components/comment/mip-comment.php复制到自己的主题内部,进行开发。

访问量

1、将文章列表的{$article.ViewNums}换成

1
<mip-zblogphp-article-viewnum post-id="{$article.ID}" default="{$article.ViewNums}" update="0" ></mip-zblogphp-article-viewnum>

2、将文章页的{$article.ViewNums}换成

1
<mip-zblogphp-article-viewnum post-id="{$article.ID}" default="{$article.ViewNums}" update="1"></mip-zblogphp-article-viewnum>

3、在主题的footer.php文件插入

1
<script src="https://c.mipcdn.com/static/v1/mip-zblogphp-article-viewnum/mip-zblogphp-article-viewnum.js"></script>

以上代码来自zblog wiki:https://wiki.zblogcn.com/doku.php?id=zblogphp:development:plugins:mip

发表留言