HelloWorld.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 海豚PHP框架 [ DolphinPHP ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2016~2017 河源市卓锐科技有限公司 [ http://www.zrthink.com ]
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://dolphinphp.com
  8. // +----------------------------------------------------------------------
  9. // | 开源协议 ( http://www.apache.org/licenses/LICENSE-2.0 )
  10. // +----------------------------------------------------------------------
  11. namespace plugins\HelloWorld;
  12. use app\common\controller\Plugin;
  13. /**
  14. * 演示插件
  15. * @package plugin\HelloWorld
  16. * @author 蔡伟明 <314013107@qq.com>
  17. */
  18. class HelloWorld extends Plugin
  19. {
  20. /**
  21. * @var array 插件信息
  22. */
  23. public $info = [
  24. // 插件名[必填]
  25. 'name' => 'HelloWorld',
  26. // 插件标题[必填]
  27. 'title' => '你好,世界',
  28. // 插件唯一标识[必填],格式:插件名.开发者标识.plugin
  29. 'identifier' => 'helloworld.ming.plugin',
  30. // 插件图标[选填]
  31. 'icon' => 'fa fa-fw fa-globe',
  32. // 插件描述[选填]
  33. 'description' => '这是一个演示插件,会在每个页面生成一个提示“Hello World”。您可以查看源码,里面包含了绝大部分插件所用到的方法,以及能做的事情。',
  34. // 插件作者[必填]
  35. 'author' => '蔡伟明',
  36. // 作者主页[选填]
  37. 'author_url' => 'http://www.dolphinphp.com',
  38. // 插件版本[必填],格式采用三段式:主版本号.次版本号.修订版本号
  39. 'version' => '1.0.0',
  40. // 是否有后台管理功能
  41. 'admin' => '1',
  42. ];
  43. /**
  44. * @var array 管理界面字段信息
  45. */
  46. public $admin = [
  47. 'title' => '后台列表', // 后台管理标题
  48. 'table_name' => 'plugin_hello', // 数据库表名,如果没有用到数据库,则留空
  49. 'order' => 'said,name', // 需要排序功能的字段,多个字段用逗号隔开
  50. 'filter' => '', // 需要筛选功能的字段,多个字段用逗号隔开
  51. 'search_title' => '', // 搜索框提示文字,一般不用填写
  52. 'search_field' => [ // 需要搜索的字段,如果需要搜索,则必填,否则不填
  53. 'said' => '名言',
  54. 'name' => '出处'
  55. ],
  56. 'search_url' => '', // 搜索框url链接,如:'user/index',一般不用填写
  57. // 后台列表字段
  58. 'columns' => [
  59. ['id', 'ID'],
  60. ['said', '名言'],
  61. ['name', '出处'],
  62. ['status', '状态', 'switch'],
  63. ['right_button', '操作', 'btn']
  64. ],
  65. // 右侧按钮
  66. 'right_buttons' => [
  67. 'edit', // 使用系统自带的编辑按钮
  68. 'enable', // 使用系统自带的启用按钮
  69. 'disable', // 使用系统自带的禁用按钮
  70. 'delete', // 使用系统自带的删除按钮
  71. // 自定义按钮,可定义多个
  72. 'customs' => [
  73. [
  74. 'title' => '自定义按钮1,新窗口打开',
  75. 'icon' => 'fa fa-list',
  76. 'href' => [
  77. 'url' => 'HelloWorld/Admin/testTable',
  78. ],
  79. 'target' => '_blank',
  80. ],
  81. // 自定义按钮并带有参数
  82. [
  83. 'title' => '自定义按钮2,自定义参数',
  84. 'icon' => 'fa fa-user',
  85. 'href' => [
  86. 'url' => 'HelloWorld/Admin/testForm',
  87. 'params' => [
  88. 'id' => '__id__',
  89. 'table' => '__table__',
  90. 'name' => 'molly',
  91. 'age' => 12
  92. ]
  93. ],
  94. ],
  95. [
  96. 'title' => '自定义页面',
  97. 'icon' => 'fa fa-file',
  98. 'href' => [
  99. 'url' => 'HelloWorld/Admin/testPage'
  100. ],
  101. ],
  102. ],
  103. ],
  104. // 顶部栏按钮
  105. 'top_buttons' => [
  106. 'add', // 使用系统自带的添加按钮
  107. 'enable', // 使用系统自带的启用按钮
  108. 'disable',// 使用系统自带的禁用按钮
  109. 'delete', // 使用系统自带的删除按钮
  110. // 自定义按钮,可定义多个
  111. 'customs' => [
  112. [
  113. 'title' => '<i class="fa fa-list"></i> 自定义按钮1',
  114. 'href' => [
  115. 'url' => 'HelloWorld/Admin/testTable',
  116. ],
  117. 'target' => '_blank',
  118. ],
  119. // 自定义按钮并带有参数
  120. [
  121. 'title' => '<i class="fa fa-user"></i> 自定义按钮2',
  122. 'href' => [
  123. 'url' => 'HelloWorld/Admin/testForm',
  124. 'params' => [
  125. 'name' => 'molly',
  126. 'age' => 12
  127. ]
  128. ],
  129. ],
  130. [
  131. 'title' => '<i class="fa fa-file"></i> 自定义页面',
  132. 'href' => [
  133. 'url' => 'HelloWorld/Admin/testPage'
  134. ],
  135. ],
  136. ],
  137. ],
  138. ];
  139. /**
  140. * @var array 新增或编辑的字段
  141. */
  142. public $fields = [
  143. [
  144. 'name' => 'name',
  145. 'title' => '出处',
  146. 'type' => 'text',
  147. 'value' => '',
  148. ],
  149. [
  150. 'name' => 'said',
  151. 'title' => '名言',
  152. 'type' => 'text',
  153. 'value' => '',
  154. 'tip' => '提示',
  155. ]
  156. ];
  157. /**
  158. * @var string 原数据库表前缀
  159. * 用于在导入插件sql时,将原有的表前缀转换成系统的表前缀
  160. * 一般插件自带sql文件时才需要配置
  161. */
  162. public $database_prefix = 'dolphin_';
  163. /**
  164. * @var array 插件钩子
  165. */
  166. public $hooks = [
  167. // 钩子名称 => 钩子说明
  168. // 如果是系统钩子,则钩子说明不用填写
  169. 'page_tips',
  170. 'my_hook' => '我的钩子',
  171. ];
  172. /**
  173. * page_tips钩子方法
  174. * @param $params
  175. * @author 蔡伟明 <314013107@qq.com>
  176. */
  177. public function pageTips(&$params)
  178. {
  179. echo '<div class="alert alert-success alert-dismissable">
  180. <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
  181. <p>Hello World</p>
  182. </div>';
  183. }
  184. /**
  185. * 安装方法必须实现
  186. * 一般只需返回true即可
  187. * 如果安装前有需要实现一些业务,可在此方法实现
  188. * @author 蔡伟明 <314013107@qq.com>
  189. * @return bool
  190. */
  191. public function install(){
  192. return true;
  193. }
  194. /**
  195. * 卸载方法必须实现
  196. * 一般只需返回true即可
  197. * 如果安装前有需要实现一些业务,可在此方法实现
  198. * @author 蔡伟明 <314013107@qq.com>
  199. * @return bool
  200. */
  201. public function uninstall(){
  202. return true;
  203. }
  204. }