1. <thead id="8qdxw"></thead>

      返回舊版| 微信建站| 建站之家論壇| 我要建站 | 建站學習 | 加入收藏
      PHPCMS當前位置:首頁 > cms教程 > 綜合cms > PHPCMS > 正文

      解決網站建設中phpcms會員投稿顯示全部欄目的問題

      發布時間:2015-10-24 11:16:29   來源:   點擊:
        phpcms是開源的一套cms系統程序,目前也是網站建設公司程序員使用最多的cms系統之一,在phpcms中有集成的會員系統,會員可以進行在線投稿,網站管理員可設置哪些欄目允許投稿,哪些欄目不允許投稿。當用戶在個人中心進行投稿的過程中,選擇需要投稿欄目,進行投稿。但是我們發現,phpcms v9自帶的投稿功能,在選擇欄目時,及時沒有設置允許投稿的欄目,也會在下拉菜單中顯示,用戶點擊不允許投稿的欄目,會提示“沒有投稿權限”,這樣很不方便,所以需要修改程序,讓只有允許投稿的欄目才會顯示,不允許投稿的欄目不顯示。

      一、先直接說明解決辦法:

      ①、打開phpcms---libs---classes---form.class.php文件
      ②、找到“public static function select_category”函數
      ③、在該函數中,找到“”if($is_push=='1' and $r['child']=='0'){“這句話
      ④、把它下面一行修改為”$sql = array('catid'=>$r['catid'],'is_admin'=>'0','roleid'=>$user_groupid,'action'=>'add');“
      ⑤、進入后臺,更新緩存,刷新用戶中心
      注:以下是分析原因,只修改問題的用戶可忽略以下所有文字。
      二、分析造成該情況的原因:

      ①、在后臺添加了新的管理員,并對管理員設置了對應的管理欄目權限。
      ②、PHPCMS本身只是讀取了”category_priv“這個表的所有內容,并沒有對是否是管理員進行判斷。
      ③、如果沒有添加新的管理員,并沒有為新管理員設置管理欄目權限,不會出現以上問題。
      ④、在$sql語句中加入”is_admin'=>'0'“是為了,增加一條SQL判斷,區分是否為管理員還是用戶組。



      以上信息轉自:騰飛網絡 http://www.0531soso.com/wlzs/phpcms_tougao.html


      【網上通用方法】  這種方法我沒有設置成功 ,不知道是不是我修改的問題,大家也可以試一下!


      把phpcms/modules/member/content.php第114行至121行
      foreach ($CATEGORYS as $catid=>$cat) {

      if($cat['siteid']==$siteid && $cat['child']==0 && $cat['type']==0 && $priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) break;

      }
      $catid = $_GET['catid'] ? intval($_GET['catid']) : $catid;
      if (!$catid) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');

      //判斷本欄目是否允許投稿

      if (!$priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');


      上面一塊替換成:

      foreach ($CATEGORYS as $catid=>$cat) {
      if($cat['siteid']==$siteid && $cat['child']==0 && $cat['type']==0 && (!$priv_db->get_one(array('catid'=>$catid, 'is_admin'=>0, 'action'=>'add')) || $priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add')))) break;

      }

      $catid = $_GET['catid'] ? intval($_GET['catid']) : $catid;
      //判斷本欄目是否允許投稿
      if ($priv_db->get_one(array('catid'=>$catid, 'is_admin'=>0, 'action'=>'add')) && !$priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');

      我沒有修改成功,不代表此段代碼不能用,大家可以試一下,如果成功,希望能留言發出來,謝謝了
      相關欄目
      熱門文章
      最新圖文
      評論排行
      版權所有:鄭州騰石網絡科技有限公司 備案信息:豫ICP備18019117號
      站長QQ:2863868475 業務合作咨詢:15137100750(同微信)
      本站所有投放的廣告是有其他網站提供,不代表本站立場,同時網站首頁廣告位對外出租詳情咨詢本站站長!同時歡迎廣大站長加入個人建站團隊
      • 建站客服
      • CMS仿站
      • CMS學習
      • 技術交流群:336572814
      福彩开奖