扩展功能优化完善
This commit is contained in:
@@ -184,7 +184,7 @@ class Addons extends Base {
|
||||
$map = [];
|
||||
$order = "id desc";
|
||||
|
||||
$list = Hooks::where($map)->order($order)->paginate($this->request->pageConfig);
|
||||
$list = Hooks::where($map)->order($order)->paginate($this->request->pageConfig)->append(['type_text']);
|
||||
|
||||
$this->data = array(
|
||||
'list' => $list,
|
||||
@@ -216,7 +216,6 @@ class Addons extends Base {
|
||||
* @title 编辑钩子
|
||||
*/
|
||||
public function edithook($id) {
|
||||
$hooks = model('Hooks');
|
||||
if ($this->request->isPost()) {
|
||||
$result = $hooks->change();
|
||||
if ($result !== false) {
|
||||
@@ -225,15 +224,13 @@ class Addons extends Base {
|
||||
return $this->error($hooks->getError());
|
||||
}
|
||||
} else {
|
||||
$info = db('Hooks')->find($id);
|
||||
$keylist = $hooks->getaddons($info['addons']);
|
||||
$data = array(
|
||||
$info = Hooks::find($id);
|
||||
$keylist = Hooks::getaddons($info);
|
||||
$this->data = array(
|
||||
'info' => $info,
|
||||
'keyList' => $keylist,
|
||||
);
|
||||
$this->assign($data);
|
||||
$this->setMeta('编辑钩子');
|
||||
return $this->fetch('public/edit');
|
||||
return $this->fetch('admin/public/edit');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<div class="boards" id="{$name}_sort">
|
||||
{volist name="option" id="vo"}
|
||||
<div class="board panel panel-info">
|
||||
<div class="panel-heading">{$vo['name']|default=''}</div>
|
||||
<div class="panel-body">
|
||||
{if !empty($vo['list'])}
|
||||
<div class="board-list" data-group="{$key}">
|
||||
{foreach name="vo['list']" item="item" key="k"}
|
||||
{php}
|
||||
$item['group'] = isset($item['group']) ? $item['group'] : '';
|
||||
{/php}
|
||||
{if (($i eq 1) or ($item['group'] eq $key)) and ($item['is_show'] eq 1)}
|
||||
<div class="board-item">
|
||||
<span data="{$item['id']}">{$item['title']} [{$item['name']}]</span>
|
||||
<input type="hidden" name="{$name}[{$key}][]" value="{$item['id']}"/>
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/volist}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('.form-group #{$name}_sort').boards({
|
||||
drop: function(e){
|
||||
var group = e.target.closest('.board').find('.board-list').attr('data-group');
|
||||
e.element.find('input').attr('name','{$name}[' + group + '][]')
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@@ -14,10 +14,27 @@ namespace app\model;
|
||||
*/
|
||||
class Hooks extends \think\Model {
|
||||
|
||||
public static $keylist = [
|
||||
['name' => 'name', 'title' => '钩子名称', 'type' => 'text', 'help' => '需要在程序中先添加钩子,否则无效'],
|
||||
['name' => 'description', 'title' => '钩子描述', 'type' => 'text', 'help' => '钩子的描述信息'],
|
||||
['name' => 'type_text', 'title' => '钩子类型', 'type' => 'select', 'option' => [['key'=>1, 'label'=>'视图'], ['key' => 2, 'label' => '控制器']], 'help' => '钩子的描述信息'],
|
||||
['name' => 'addons', 'title' => '插件排序', 'type' => 'kanban'],
|
||||
];
|
||||
protected function getTypeTextAttr($value, $data){
|
||||
$type = [1 => '视图', 2 => '控制器'];
|
||||
return isset($type[$data['type']]) ? $type[$data['type']] : '';
|
||||
}
|
||||
|
||||
public static function getaddons($addons){
|
||||
if (isset($addons['addons']) && $addons['addons']) {
|
||||
$hook_list = explode(',', $addons['addons']);
|
||||
foreach ($hook_list as $key => $value) {
|
||||
$field_list[] = array('id' => $value, 'title' => $value, 'name' => $value, 'is_show' => 1);
|
||||
}
|
||||
$option[] = ['name' => '钩子挂载排序', 'list' => $field_list];
|
||||
} else {
|
||||
$option[] = ['name' => '钩子挂载排序', 'list' => []];
|
||||
}
|
||||
$keylist = [
|
||||
['name' => 'name', 'title' => '钩子名称', 'type' => 'text', 'help' => '需要在程序中先添加钩子,否则无效'],
|
||||
['name' => 'description', 'title' => '钩子描述', 'type' => 'text', 'help' => '钩子的描述信息'],
|
||||
['name' => 'type_text', 'title' => '钩子类型', 'type' => 'select', 'option' => [['key'=>1, 'label'=>'视图'], ['key' => 2, 'label' => '控制器']], 'help' => '钩子的描述信息'],
|
||||
['name' => 'addons', 'title' => '插件排序', 'type' => 'kanban', 'option' => $option],
|
||||
];
|
||||
return $keylist;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user