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
- PHPCMS 二次开发 子站与主站统一数据
- phpcms二次开发
- phpcms二次开发
- phpcms二次开发
- PHPCMS V9调用全站数据
- PHPCMS黄页模块二次开发
- [OpenSource]PHPCMS二次开发
- phpcms二次开发有感
- PHPCMS 二次开发视频
- phpcms 二次开发笔记
- phpcms v9 二次开发详解
- PHPCMS 二次开发总结
- PHPCMS二次开发笔记一
- phpcms二次开发操作数据库
- phpcms 二次开发 (1)
- PHPCMS 二次开发技巧
- phpcms v9 二次开发总结
- phpcms二次开发流程
- Spring学习笔记(一)
- shell脚本之echo(五)
- SpringMVC个人笔记
- 华为oj中级 【中级】单词倒排
- c++ 表达式计算--中缀转后缀再计算
- PHPCMS 二次开发 子站与主站统一数据
- 在chrome中调试异步加载的js文件
- redis javaAPI
- atoi和itoa的实现
- MATLAB resample函数
- socket阻塞与非阻塞,同步与异步
- 栈的基本定义
- 美国大学等级
- Hibernate七部曲(六)多对一关系映射