欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

phpcms教程

phpcmsv9二次开发方法

phpcms教程 我的站长站 2019-09-14 共123人阅读

//第一步:获取模型缓存路径

define('CACHE_MODEL_PATH',CACHE_PATH.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);  
pc_base::load_app_func('util','content');  
classindex {  
private$db;  
function__construct() {
//第二步:获取与数据库相关的配置信息,如:数据表前缀、数据库名、数据库用户名、数据库密码、数据库编码、数据库类型
$this->db = pc_base::load_model('content_model');  
$this->_userid = param::get_cookie('_userid');  
$this->_username = param::get_cookie('_username');  
$this->_groupid = param::get_cookie('_groupid');  
}

//首页

publicfunctioninit() {  
if(isset($_GET['siteid'])) {  
$siteid= intval($_GET['siteid']);  
} else{  
$siteid= 1;//模型情况下siteid为1
}  
$siteid= $GLOBALS['siteid'] = max($siteid,1);  
define('SITEID', $siteid);  
$_userid= $this->_userid;  
$_username= $this->_username;  
$_groupid= $this->_groupid;  
//SEO
$SEO= seo($siteid);  
$sitelist= getcache('sitelist','commons');  
$default_style= $sitelist[$siteid]['default_style'];  
$CATEGORYS= getcache('category_content_'.$siteid,'commons');  
includetemplate('content','index',$default_style);  
}

//内容页

publicfunctionshow() {  
$catid= intval($_GET['catid']);  
$id= intval($_GET['id']);  
if(!$catid|| !$id) showmessage(L('information_does_not_exist'),'blank');  
$_userid= $this->_userid;  
$_username= $this->_username;  
$_groupid= $this->_groupid;  
$page= intval($_GET['page']);  
$page= max($page,1);  
$siteids= getcache('category_content','commons');//获取各栏目所对应的站点id
$siteid= $siteids[$catid];//获取当前栏目所对应的站点id
$CATEGORYS= getcache('category_content_'.$siteid,'commons');//获取当前站点下所有栏目的配置信息
if(!isset($CATEGORYS[$catid]) || $CATEGORYS[$catid]['type']!=0) showmessage(L('information_does_not_exist'),'blank');  
$this->category = $CAT= $CATEGORYS[$catid];//获取当前站点下当前栏目的配置信息
$this->category_setting = $CAT['setting'] = string2array($this->category['setting']);  
$siteid= $GLOBALS['siteid'] = $CAT['siteid'];//获取当前站点下当前栏目所对应的站点id值
$MODEL= getcache('model','commons');//获取各个模型的配置信息
$modelid= $CAT['modelid'];//获取当前站点下当前栏目所属的模型id,找到了模型,也就找到了要查询的模型表(数据表)
//设置模型表:通过缓存文件获取modelid,然后再通过模型modelid获取对应的模型表及对应的模型附表
$tablename= $this->db->table_name = $this->db->db_tablepre.$MODEL[$modelid]['tablename'];

//设置模型附表

$r= $this->db->get_one(array('id'=>$id));  
if(!$r|| $r['status'] != 99) showmessage(L('info_does_not_exists'),'blank');  
//下面代码获取的是当前模型附表中数据
$this->db->table_name = $tablename.'_data';  
//下面代码获取的是当前模型附表中数据
$r2= $this->db->get_one(array('id'=>$id));  
//将模型表数据和模型附表中数据合并在一起
$rs= $r2? array_merge($r,$r2) : $r;  
//再次重新赋值,以数据库为准
$catid= $CATEGORYS[$r['catid']]['catid'];  
$modelid= $CATEGORYS[$catid]['modelid'];  
require_onceCACHE_MODEL_PATH.'content_output.class.php';  
$content_output= newcontent_output($modelid,$catid,$CATEGORYS);  
//将查询出来的数据经模型处理函数处理后放入$data数据中
$data= $content_output->get($rs);  
//注意:这行代码非常之重要,主要用来将数组中各个元素转化为变量,数据元素的键名为变量名,数据元素的值为变量值
extract($data);