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

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=搜索引擎优化($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);


声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:phpcmsv9二次开发方法发布于2022-05-19 07:43:40

相关推荐