国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > CMS > PhpCMS > 正文

【phpcms-v9】index.php文件分析-前臺(tái)列表頁(yè)代碼分析

2024-09-10 07:15:43
字體:
供稿:網(wǎng)友
  1. //路徑:phpcms/modules/content/index.php控制器   
  2. //列表頁(yè):文章列表頁(yè)、圖片列表頁(yè)、下載列表頁(yè)執(zhí)行的都是這段程序   
  3. public function lists() {   
  4.         $catid = intval($_GET['catid']);                                    //欄目id   
  5.         $_priv_data = $this->_category_priv($catid);                     //檢查閱讀權(quán)限   
  6.         if($_priv_data=='-1') {                                             //請(qǐng)登錄   
  7.             $forward = urlencode(get_url());   
  8.             showmessage(L('login_website'),APP_PATH.'index.php?m=member&c=index&a=login&forward='.$forward);   
  9.         } elseif($_priv_data=='-2') {                                       //沒權(quán)限   
  10.             showmessage(L('no_priv'));   
  11.         }   
  12.         $_userid = $this->_userid;                                           //用戶id   
  13.         $_username = $this->_username;                                       //用戶名   
  14.         $_groupid = $this->_groupid;                                     //用戶會(huì)員組id   
  15.    
  16.         if(!$catid) showmessage(L('category_not_exists'),'blank');          //欄目不存在   
  17.         $siteids = getcache('category_content','commons');                  //獲取所有欄目對(duì)應(yīng)的站點(diǎn)id   
  18.         $siteid = $siteids[$catid];                                         //獲取當(dāng)前欄目對(duì)應(yīng)的站點(diǎn)id   
  19.         $CATEGORYS = getcache('category_content_'.$siteid,'commons');       //獲取當(dāng)前站點(diǎn)下所有欄目的詳細(xì)配置信息   
  20.         if(!isset($CATEGORYS[$catid])) showmessage(L('category_not_exists'),'blank');   
  21.         $CAT = $CATEGORYS[$catid];                                          //獲取當(dāng)前欄目的詳細(xì)配置信息   
  22.         $siteid = $GLOBALS['siteid'] = $CAT['siteid'];                      //獲取當(dāng)前欄目的站點(diǎn)id   
  23.         //這行代碼很重要   
  24.         extract($CAT);                                                      //從當(dāng)前欄目詳細(xì)配置信息的數(shù)組中將變量導(dǎo)入到當(dāng)前的符號(hào)表   
  25.         $setting = string2array($setting);                                  //將設(shè)置信息轉(zhuǎn)換為數(shù)組格式   
  26.         //SEO   
  27.         if(!$setting['meta_title']) $setting['meta_title'] = $catname;      //title   
  28.         $SEO = seo($siteid'',$setting['meta_title'],$setting['meta_description'],$setting['meta_keywords']);//description   
  29.         define('STYLE',$setting['template_list']);                          //模板風(fēng)格,默認(rèn)為default   
  30.         $page = $_GET['page'];                                              //當(dāng)前頁(yè)碼   
  31.    
  32.         $template = $setting['category_template'] ? $setting['category_template'] : 'category';//欄目首頁(yè)模板   
  33.         $template_list = $setting['list_template'] ? $setting['list_template'] : 'list';//欄目列表頁(yè)模板   
  34.            
  35.         if($type==0) {  //0-內(nèi)部欄目  1-單網(wǎng)頁(yè)  2-外部鏈接   
  36.             $template = $child ? $template : $template_list;//$child,是否有子欄目: 1-有     0-沒有   
  37.             $arrparentid = explode(','$arrparentid);      //當(dāng)前欄目所有的父欄目組成的父欄目id數(shù)組   
  38.             $top_parentid = $arrparentid[1] ? $arrparentid[1] : $catid;//當(dāng)前欄目的頂級(jí)欄目id   
  39.             $array_child = array();                         //當(dāng)前欄目下一級(jí)欄目的id組成的數(shù)組   
  40.             $self_array = explode(','$arrchildid);        //當(dāng)前欄目的所有子欄目組成的id數(shù)組,包含當(dāng)前欄目id自身   
  41.             //獲取一級(jí)欄目ids   
  42.             foreach ($self_array as $arr) {   
  43.                 if($arr!=$catid && $CATEGORYS[$arr][parentid]==$catid) {   
  44.                     $array_child[] = $arr;//當(dāng)前欄目下一級(jí)欄目id組成的數(shù)組,不包含當(dāng)前欄目id   
  45.                 }   
  46.             }   
  47.             $arrchildid = implode(','$array_child);//當(dāng)前欄目下一級(jí)欄目id所組成的數(shù)組   
  48.             //URL規(guī)則   
  49.             $urlrules = getcache('urlrules','commons');//獲取所有的url重寫規(guī)則   
  50.             //如: 1 => '{$categorydir}{$catdir}/index.html|{$categorydir}{$catdir}/{$page}.html'   
  51.             $urlrules = str_replace('|''~',$urlrules[$category_ruleid]);//當(dāng)前欄目頁(yè)的url重寫規(guī)則id   
  52.             $tmp_urls = explode('~',$urlrules);//當(dāng)前欄目頁(yè)的url重寫規(guī)則數(shù)組   
  53.             $tmp_urls = isset($tmp_urls[1]) ?  $tmp_urls[1] : $tmp_urls[0];//如果是數(shù)組,采用第一個(gè)url   
  54.             preg_match_all('/{/$([a-z0-9_]+)}/i',$tmp_urls,$_urls);//$_urls:正則匹配的結(jié)果賦值給此變量   
  55.             /**   
  56.              * print_r($_urls):匹配到的結(jié)果   
  57.              * Array   
  58.                 (   
  59.                     [0] => Array   
  60.                         (   
  61.                             [0] => {$catid}   
  62.                             [1] => {$page}   
  63.                         )   
  64.                    
  65.                     [1] => Array   
  66.                         (   
  67.                             [0] => catid   
  68.                             [1] => page   
  69.                         )   
  70.                    
  71.                 )   
  72.              */   
  73.             if(!emptyempty($_urls[1])) {   
  74.                 foreach($_urls[1] as $_v) {   
  75.                     $GLOBALS['URL_ARRAY'][$_v] = $_GET[$_v];   
  76.                 }   
  77.             }   
  78.             //如: 1 => '{$categorydir}{$catdir}/index.html|{$categorydir}{$catdir}/{$page}.html'   
  79.             define('URLRULE'$urlrules);   
  80.             $GLOBALS['URL_ARRAY']['categorydir'] = $categorydir;//   
  81.             $GLOBALS['URL_ARRAY']['catdir'] = $catdir;//英文欄目名稱   
  82.             $GLOBALS['URL_ARRAY']['catid'] = $catid;//欄目id   
  83.                         //此行代碼可參照上一篇文章   
  84.                         include template('content',$template);//如果有子欄目-欄目首頁(yè)模板   如果無子欄目-欄目列表頁(yè)模板   
  85.     } else {   
  86.         //單網(wǎng)頁(yè)   
  87.             $this->page_db = pc_base::load_model('page_model');   
  88.             $r = $this->page_db->get_one(array('catid'=>$catid));   
  89.             if($r) extract($r);   
  90.             $template = $setting['page_template'] ? $setting['page_template'] : 'page';   
  91.             $arrchild_arr = $CATEGORYS[$parentid]['arrchildid'];   
  92.             if($arrchild_arr==''$arrchild_arr = $CATEGORYS[$catid]['arrchildid'];    //Vevb.com 
  93.             $arrchild_arr = explode(',',$arrchild_arr);   
  94.             array_shift($arrchild_arr);   
  95.             $keywords = $keywords ? $keywords : $setting['meta_keywords'];   
  96.             $SEO = seo($siteid, 0, $title,$setting['meta_description'],$keywords);   
  97.             include template('content',$template);   
  98.     }
  99. }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 美姑县| 南开区| 华宁县| 方正县| 商都县| 龙陵县| 屯留县| 河曲县| 鄂托克前旗| 汕头市| 连城县| 金门县| 武宣县| 浑源县| 南华县| 古交市| 新丰县| 汶川县| 米林县| 正阳县| 甘谷县| 镇赉县| 奉新县| 邵阳市| 长沙县| 怀化市| 琼结县| 雷波县| 无为县| 阿城市| 汉沽区| 鲁山县| 香港 | 衡山县| 鲁甸县| 波密县| 金乡县| 怀来县| 韶关市| 汝阳县| 兴安盟|