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(); }