一、phpcms-v9默認情況下只能在最底層欄目下添加內容,而不能給含有子欄目的欄目添加內容,如果需要給含有子欄目的欄目下添加內容的需求,則需要修改content.php控制器的如下代碼:
- /**
- * 顯示欄目菜單列表
- */
- public function public_categorys() {
- $show_header = '';
- $cfg = getcache('common','commons');
- $ajax_show = intval($cfg['category_ajax']);
- $from = isset($_GET['from']) && in_array($_GET['from'],array('block')) ? $_GET['from'] : 'content';
- $tree = pc_base::load_sys_class('tree');
- if($from=='content' && $_SESSION['roleid'] != 1) {
- $this->priv_db = pc_base::load_model('category_priv_model');
- $priv_result = $this->priv_db->select(array('action'=>'init','roleid'=>$_SESSION['roleid'],'siteid'=>$this->siteid,'is_admin'=>1));
- $priv_catids = array();
- foreach($priv_result as $_v) {
- $priv_catids[] = $_v['catid'];
- }
- if(emptyempty($priv_catids)) return '';
- }
- $categorys = array();
- if(!emptyempty($this->categorys)) {
- foreach($this->categorys as $r) {
- if($r['siteid']!=$this->siteid || ($r['type']==2 && $r['child']==0)) continue;
- if($from=='content' && $_SESSION['roleid'] != 1 && !in_array($r['catid'],$priv_catids)) {
- $arrchildid = explode(',',$r['arrchildid']);
- $array_intersect = array_intersect($priv_catids,$arrchildid);
- if(emptyempty($array_intersect)) continue;
- }
- if($r['type']==1 || $from=='block') {
- if($r['type']==0) {
- $r['vs_show'] = "<a href='?m=block&c=block_admin&a=public_visualization&menuid=".$_GET['menuid']."&catid=".$r['catid']."&type=show' target='right'>[".L('content_page')."]</a>";
- } else {
- $r['vs_show'] ='';
- }
- $r['icon_type'] = 'file';
- $r['add_icon'] = '';
- $r['type'] = 'add';
- } else {
- $r['icon_type'] = $r['vs_show'] = '';
- $r['type'] = 'init';
- $r['add_icon'] = "<a target='right' href='?m=content&c=content&menuid=".$_GET['menuid']."&catid=".$r['catid']."' onclick=javascript:openwinx('?m=content&c=content&a=add&menuid=".$_GET['menuid']."&catid=".$r['catid']."&hash_page=".$_SESSION['hash_page']."','')><img src='".IMG_PATH."add_content.gif' alt='".L('add')."'></a> ";
- }
- $categorys[$r['catid']] = $r;
- }
- }
- if(!emptyempty($categorys)) {
- $tree->init($categorys);
- switch($from) {
- case 'block':
- $strs = "<span class='/$icon_type'>/$add_icon<a href='?m=block&c=block_admin&a=public_visualization&menuid=".$_GET['menuid']."&catid=/$catid&type=list' target='right'>/$catname</a> /$vs_show</span>";
- $strs2 = "<img src='".IMG_PATH."folder.gif'> <a href='?m=block&c=block_admin&a=public_visualization&menuid=".$_GET['menuid']."&catid=/$catid&type=category' target='right'>/$catname</a>";
- break;
- default:
- $strs = "<span class='/$icon_type'>/$add_icon<a href='?m=content&c=content&a=/$type&menuid=".$_GET['menuid']."&catid=/$catid' target='right' onclick='open_list(this)'>/$catname</a></span>";
- //修改前
- //$strs2 = "<span class='folder'>/$catname</span>";
- //修改后
- $strs2 = "<span class='/$icon_type'>/$add_icon<a href='?m=content&c=content&a=/$type&menuid=".$_GET['menuid']."&catid=/$catid' target='right' onclick='open_list(this)'>/$catname</a></span>"; //開源軟件:Vevb.com
- break;
- }
- $categorys = $tree->get_treeview(0,'category_tree',$strs,$strs2,$ajax_show);
- } else {
- $categorys = L('please_add_category');
- }
- include $this->admin_tpl('category_tree');
- exit;
- }
2.截圖如下:
二、案例:
【咨詢】欄目下有很多子欄目,如,【即時、國際、大陸等等】,當要添加的內容不屬于 【即時、國際、大陸、臺灣、港澳、社會、深度、圖片、評論、軍事、歷史、文化、專題、排行】任何一個 欄目時,會將要添加的內容將放在 【咨詢 】頂級欄目下
當點擊【咨詢】時,將顯示不屬于【即時、國際、大陸、臺灣、港澳、社會、深度、圖片、評論、軍事、歷史、文化、專題、排行】欄目下的文章列表
三、盡量避免這種情況的發生,因為這樣會引起index.html文件的沖突,如果確實需要完成此功能,我們可以采取一種其它的實現方式。比如,再建立一個名稱為【其它】的子欄目,專門用于存放暫時沒有歸類的文章。如果不想在模版中顯示【其它】這個名字,可以將其屏蔽掉,
新聞熱點
疑難解答