PhalApi官方的在线文档,默认长这样:

虽然有在线文档可以使用,但在实际情况下,考虑到项目需要显示自己的公司Logo、项目名称,以及其他一些样式的调整,因此这时可以使用自定义模板。
如何在PhalApi定制自己的在线文档模板??
实现起来很简单,就像我们平时开放网站页面那样,只需要把模板的路径修改一下即可。
在线文档共有两份模板,分别是:
第1份:在线列表页文档模板
本地代码路径是:./vendor/phalapi/kernal/src/Helper/api_list_tpl.php
远程代码路径是:https://github.com/phalapi/ker ... l.php
第2份:在线详情页文档模板
本地代码路径是:./vendor/phalapi/kernal/src/Helper/api_desc_tpl.php
远程代码路径是:https://github.com/phalapi/ker ... l.php
也就是说,如果你只是想改项目的模板,那么就修改本地的; 如果你想分享给更多同学,就可以修改远程的,然后提交PR。
如何修改本地的在线文档列表页模板?
首先,把本地模板复制一份,放到自己的项目中。创建一个新目录 ./src/app/view,然后拷贝过去。
$ cp ./vendor/phalapi/kernal/src/Helper/api_list_tpl.php ./src/app/view/
然后,自由发挥,修改 ./src/app/view/api_list_tpl.php 模板中的内容或样式。
例如,加一个顶部的菜单项,追加以下代码:
https://www.phalapi.net/"class="item">PhalApi http://docs.phalapi.net/#/v2.0/"class="item">文档 http://qa.phalapi.net/"class="item">社区 https://my.oschina.net/dogstar"class="item">dogstar的博客
接着保存。
最后,这一步很关键,就是告诉PhalApi切换到你自己的模板文件。修改 ./public/docs.php 文件,然后在render渲染时修改为自己的模板路径。
例如,新加的菜单显示效果是:

if (!empty($_GET['detail'])) { $apiDesc = new \PhalApi\Helper\ApiDesc($projectName); $apiDesc->render();} else { $apiList = new \PhalApi\Helper\ApiList($projectName); $apiList->render(API_ROOT . '/src/app/view/api_list_tpl.php'); // 修改为自己的模板路径}
再访问在线文档,就能看到自己的模板啦!
如何修改本地的在线文档接口详情页模板?修改在线详情页模板的做法和修改列表的类似,也是首先,复制一份:
$ cp ./vendor/phalapi/kernal/src/Helper/api_desc_tpl.php ./src/app/view/
然后,修改模板。
最后,切换模板。
if (!empty($_GET['detail'])) { $apiDesc = new \PhalApi\Helper\ApiDesc($projectName); $apiDesc->render(API_ROOT . '/src/app/view/api_desc_tpl.php'); // 修改为自己的模板路径} else { $apiList = new \PhalApi\Helper\ApiList($projectName); $apiList->render(API_ROOT . '/src/app/view/api_list_tpl.php');}
小白接口的定制模板效果
例如,PhalApi官网的创新项目,小白接口的定制模板效果如下:

在线文档链接是:http://pre.api.okayapi.com/docs.php?api=Ext.QrCode
如何分享自己的模板和主题?
如果有好的模板要和主题,欢迎在下方回复留言,贴上源代码的链接 ^_^
网友评论