类型选择
您可以选择开发以下两种类型的MIP主题。
普通主题
普通主题,即是可以直接在后台切换的主题。您的主题依赖本插件后,直接参考以下代码即可直接使用MIP相关功能。
独立主题
启用MIP插件后,默认会有/mip/这一子目录,内有自带主题。此处的主题与后台设置的主题无关。独立主题,即是设置此处的主题。
在后台新建一个插件后,创建template目录,在include.php插入以下代码(仅为示例,注意将应用ID换为自己的应用ID):
<?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() {}
结构如图:
然后,您就可以像开发普通的主题一样开发MIP主题了。示例见:https://www.fengyan.cc/mip/
通用开发指南
您的主题首先必须依赖 mip插件,要在您的主题内启用MIP,请按照以下方法操作:
1. 在您的主题内部的 ActivePlugin_主题ID 函数,插入
mip_active();
2. 在您的主题内部的header.php,插入
<meta name="bloghost" content="{$host}">
3. 如果您的主题没有<style mip-custom>,则在header.php插入
<style mip-custom>{$mipstyle}</style>
如果有<style mip-custom>,则请把{$mipstyle}插入到</style>之前。
4. 此时,您可以使用MIP插件提供的功能了。
评论
1. 将主题内的 {template:comments} 替换成
<mip-zblogphp-comment post-id="{$article.ID}"></mip-zblogphp-comment>
2. 在主题的 footer.php 插入
<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}``换成
<mip-zblogphp-article-viewnum post-id="{$article.ID}" default="{$article.ViewNums}" update="0" ></mip-zblogphp-article-viewnum>
2. 将文章页的``{$article.ViewNums}``换成
<mip-zblogphp-article-viewnum post-id="{$article.ID}" default="{$article.CommNums}" update="1"></mip-zblogphp-article-viewnum>
3. 在主题的 footer.php 插入
<script src="https://c.mipcdn.com/static/v1/mip-zblogphp-article-viewnum/mip-zblogphp-article-viewnum.js"></script>
结束语
总结下独立主题踩过的坑:
1.独立主题不能添加评论(现在不能,以后估计也不能),不过这个要不要评论,没有什么意义;
2.独立主题缩略图兼容的问题
3.导航兼容的问题
4.侧栏兼容的问题
5.两个地址切换的问题(开始的时候以为是BUG,结果问了博士才知道要自己转)
通用主题:
这个做过两次测试,暂时还没有遇到坑;