绝对实用教程:如何在PhalApi定制自己的在线文档模板?

巧了我就是萌 提交于 2019-12-02 04:11:41

绝对实用教程:如何在PhalApi定制自己的在线文档模板?

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

 
虽然有在线文档可以使用,但在实际情况下,考虑到项目需要显示自己的公司Logo、项目名称,以及其他一些样式的调整,因此这时可以使用自定义模板。
 
如何在PhalApi定制自己的在线文档模板??
实现起来很简单,就像我们平时开放网站页面那样,只需要把模板的路径修改一下即可。
 
在线文档共有两份模板,分别是:
 
第1份:在线列表页文档模板  
第2份:在线详情页文档模板  
也就是说,如果你只是想改项目的模板,那么就修改本地的; 如果你想分享给更多同学,就可以修改远程的,然后提交PR。
 
如何修改本地的在线文档列表页模板?
首先,把本地模板复制一份,放到自己的项目中。创建一个新目录 ./src/app/view,然后拷贝过去。
$ cp ./vendor/phalapi/kernal/src/Helper/api_list_tpl.php ./src/app/view/

 
然后,自由发挥,修改 ./src/app/view/api_list_tpl.php 模板中的内容或样式。
例如,加一个顶部的菜单项,追加以下代码:
<a href="https://www.phalapi.net/" class="item">PhalApi</a>
      <a href="http://docs.phalapi.net/#/v2.0/" class="item">文档</a>
      <a href="http://qa.phalapi.net/" class="item">社区</a>

      <!-- 新加一个菜单 -->
      <a href="https://my.oschina.net/dogstar" class="item">dogstar的博客</a>

     <div class="right menu">
接着保存。 
最后,这一步很关键,就是告诉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
 
如何分享自己的模板和主题?
如果有好的模板要和主题,欢迎在下方回复留言,贴上源代码的链接 ^_^

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!