public function pos($page = 1, $r = 20) { $aModule = I('module', '', 'text'); $aTheme = I('theme', 'all', 'text'); $aStatus = I('status', 1, 'intval'); $_GET['status'] = $aStatus; if ($aModule == '') { $this->posModule(); return; } $adminList = new AdminListBuilder(); $map['path'] = array('like', ucfirst($aModule . '/%')); $map['status'] = $aStatus; if ($aTheme == 'all' || $aTheme == '') { } else { $map['theme'] = array('like', array("%,{$aTheme}", "%,{$aTheme},%", "{$aTheme},%")); } $advPosModel = D('AdvPos'); $advModel = D('Adv'); $advPoses = $advPosModel->where($map)->select(); $themes = D('Common/Theme')->getThemeList(); foreach ($advPoses as &$v) { switch ($v['type']) { case 1: $v['type_html'] = '<span class="text-danger">单图</span>'; break; case 2: $v['type_html'] = '<span class="text-warning">多图轮播</span>'; break; case 3: $v['type_html'] = '<span class="text-success">文字链接</span>'; break; case 4: $v['type_html'] = '<span class="text-error">代码块</span>'; break; } if ($v['theme'] != 'all') { $theme_names = explode(',', $v['theme']); foreach ($theme_names as $t) { $temp_theme[] = $themes[$t]['title']; } $v['theme_html'] = implode(' , ', $temp_theme); //implode(',',array_map(array($this,'getValue'),$themes,$v['theme']));// $themes[$v['theme']]['title']; } else { $v['theme_html'] = '全部主题'; } $count = $advModel->where(array('pos_id' => $v['id'], 'status' => 1))->count(); $v['do'] = '<a href="' . U('editPos?copy=' . $v['id']) . '"><i class="icon-copy"></i> 复制</a> ' . '<a href="' . U('editPos?id=' . $v['id']) . '"><i class="icon-cog"></i> 设置</a> ' . '<a href="' . U('adv?pos_id=' . $v['id']) . '" ><i class="icon-sitemap"></i> 管理广告(' . $count . ')</a> ' . '<a href="' . U('editAdv?pos_id=' . $v['id']) . '"><i class="icon-plus"></i> 添加广告</a> ' . '<a href="' . U($v['path']) . '#adv_' . $v['id'] . '" target="_blank"><i class="icon-share-alt"></i>到前台查看</a> '; } unset($v); $adminList->title('广告位管理'); $adminList->buttonNew(U('editPos'), '添加广告位'); $adminList->buttonDelete(U('setPosStatus')); $adminList->buttonDisable(U('setPosStatus')); $adminList->buttonEnable(U('setPosStatus')); $adminList->keyId()->keyTitle()->keyHtml('do', '操作', '320px')->keyText('name', '广告位英文名')->keyText('path', '路径')->keyHtml('type_html', '广告类型')->keyStatus()->keyText('width', '宽度')->keyText('height', '高度')->keyText('margin', '边缘留白')->keyText('padding', '内部留白')->keyText('theme_html', '适用主题'); $themes_array[] = array('id' => 'all', 'value' => '--全部主题--'); foreach ($themes as $v) { $themes_array[] = array('id' => $v['name'], 'value' => $v['title']); } $status_array = array(array('id' => 1, 'value' => '正常'), array('id' => 0, 'value' => '禁用'), array('id' => -1, 'value' => '已删除')); $adminList->select('所属主题:', 'theme', 'select', '描述', '', '', $themes_array); $adminList->select('状态:', 'status', 'select', '广告位状态', '', '', $status_array); $adminList->data($advPoses); $adminList->display(); }
/** * 字段列表 */ function field($page = 1, $r = 20) { $listBuilder = new AdminListBuilder(); $listBuilder->title('字段管理'); $model = M('cat_field'); $data = $model->where('entity_id=' . I('get.entity_id', 'intval') . ' and status>-1')->order('sort desc')->page($page, $r)->select(); $totalCount = $model->where('entity_id=' . I('get.entity_id', 'intval') . ' and status>-1')->count(); $type_alias = array(IT_SINGLE_TEXT => '单行文本', IT_MULTI_TEXT => '多行文本', IT_SELECT => '下拉框', IT_CHECKBOX => '多选框', IT_RADIO => '单选框', IT_EDITOR => '编辑器', IT_PIC => '单图上传'); foreach ($data as $key => $v) { $data[$key]['input_type'] = $type_alias[$v['input_type']]; $entity = M('cat_entity')->find($v['entity_id']); $data[$key]['entity_alias'] = $entity['alias']; } $listBuilder->keyId(); $listBuilder->keyText('name', '英文名')->keyLink('entity_alias', '模型', 'field?entity_id={$entity_id}')->keyText('alias', '中文名')->keyText('sort', '排序')->keyText('input_type', '输入类型'); $listBuilder->keyDoActionEdit('editField?id=####'); $listBuilder->buttonNew(U('editField', array('entity_id' => I('get.entity_id', 'intval')))); $listBuilder->buttonDelete(U('setFieldStatus', array('status' => -1))); // $listBuilder->buttonSort(U('sortField')); $listBuilder->data($data); $listBuilder->pagination($totalCount, $r); $listBuilder->display(); }