PHPCMS 二次开发 子站与主站统一数据

来源:互联网 发布:男士去角质 知乎 编辑:程序博客网 时间:2024/06/04 00:29

1.子站点设置修改

1.数据库 v9_site增加parent_id字段 默认值0

2.修改phpcms/modules/admin/site.php  add() 35

$parent_id = isset($_POST['parent_id']) ? $_POST['parent_id'] : '0';

3.读取所有父级站点ID 79行左右

$siteList = pc_base::load_model('site_model');$siteList = $siteList->select('parent_id = 0');

4.edit() 方法 167行 ,读取父级ID并且不读取自己

$siteList = pc_base::load_model('site_model');$siteList = $siteList->select("parent_id = 0 AND siteid != $siteid ");$parent_id = isset($_POST['parent_id']) ? $_POST['parent_id'] : '0';

*记得 在对应的方法下的 $sql变量中 增加$parent_id参数

5.修改phpcms/modules/admin/templates/site_add.tpl.php  30行下

<tr>  <th width="80">父级站点:</th>  <td class="y-bg">    <select name="parent_id" id="parent_id">      <option value="0">请选择父级站点</option>      <?php foreach($siteList as $sl){?>      <option value="<?=$sl['siteid']?>"><?=$sl['name']?></option>      <?php }?>    </select>  </td></tr>

6.修改phpcms/modules/admin/templates/site_edit.tpl.php 26

<tr>  <th width="80">父级站点:</th>  <td class="y-bg">    <select name="parent_id" id="parent_id">      <option value="0">请选择父级站点</option>      <?php foreach($siteList as $sl){?>        <option value="<?=$sl['siteid']?>" <?php if($data['parent_id'] == $sl['siteid']){ echo 'selected'; } ?> ><?=$sl['name']?></option>      <?php }?>    </select>  </td></tr>

7.phpcms/modules/admin/index.php init()方法中修改

$currentsite = $this->get_siteinfo(param::get_cookie('siteidReal'));

OK!,子站点的设置完成


2.开始读取数据

1.设置站点切换时的cookie

phpcms/libs/functions/extention.func.php

function getPrentSite($id){    $site = pc_base::load_model('site_model');    $site = $site->get_one(array('siteid'=>$id));    if($site){        if($site['parent_id'] != 0){            return $site['parent_id'];        }else{            return $site['siteid'];        }    }}

2.phpcms/modules/admin/index.php  public_set_siteid() 方法中

$siteParent = getPrentSite($siteid);param::set_cookie('siteid', $siteParent);param::set_cookie('siteidReal',$siteid);(需要在上面的login()方法中先初始化这个siteidReal)

3.栏目缓存设置。

*去除栏目关联的绝对路劲

*注释phpcms/modules/admin/category.php  repair()方法中463

//$url = APP_PATH.$url;$url = '/'.$url;

*注释phpcms/modules/admin/category.php  cache()方法中407

//$r['url'] = siteurl($r['siteid']).$r['url'];

*注释phpcms/modules/admin/class/cache_api.class.php  cache()方法中80

//$r['url'] = siteurl($r['siteid']).$r['url'];

4.生成栏目设置phpcms/modules/content/classes/html.class.html  __construct()方法中底部新增

$siteReal = param::get_cookie('siteidReal');
if($siteReal != $this->siteid){   $this->siteid = $siteReal;}

5.生成内容页phpcms/modules/content/templates/content_list.tpl.php

$siteReal = param::get_cookie('siteidReal');

$release_siteurl = substr($sitelist[$siteReal]['domain'],0,-1);// $release_siteurl = $sitelist[$category['siteid']]['url'];// $path_len = -strlen(WEB_PATH);// $release_siteurl = substr($release_siteurl,0,$path_len);
                                             
0 0
原创粉丝点击