您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程

PHPCMS多站点管理切换实现方法

信品2025-06-06phpcms教程已有5人查阅

导读打开系统函数库global.func.php可以看到获取站点ID的函数如下在此函数中,站点ID是静态的值,而且第一句就是判断当前站点是否已经设置, 如果已经设置过,那返回的永远是第一次获取时的值

打开系统函数库global.func.php
可以看到获取站点ID的函数如下
/**
* 获取当前的站点ID
*/
function get_siteid() {
static $siteid;
if (!empty($siteid)) return $siteid;
if (defined('IN_ADMIN')) {
if ($d = param::get_cookie('siteid')) {
$siteid = $d;
} else {
return '';
}
} else {
$data = getcache('sitelist', 'commons');
if(!is_array($data)) return '1';
$site_url = SITE_PROTOCOL.SITE_URL;
foreach ($data as $v) {
if ($v['url'] == $site_url.'/') $siteid = $v['siteid'];
}
}
if (empty($siteid)) $siteid = 1;
return $siteid;
}
在此函数中,站点ID是静态的值,而且第一句就是判断当前站点是否已经设置, 如果已经设置过,那返回的永远是第一次获取时的值, 这样的结果当然不可能实时变更当前站点!
在前台的时候这样没有影响.但如果是在后台,管理多个站点的时候, 那就出问题了!
解决办法是 把 if (!empty($siteid)) return $siteid; 这一句移到判断非后台的时候才直接返回
/**
* 获取当前的站点ID
*/
function get_siteid() {
static $siteid;
if (defined('IN_ADMIN')) {
if ($d = param::get_cookie('siteid')) {
$siteid = $d;
} else {
return '';
}
} else {
if (!empty($siteid)) return $siteid;
$data = getcache('sitelist', 'commons');
if(!is_array($data)) return '1';
$site_url = SITE_PROTOCOL.SITE_URL;
foreach ($data as $v) {
if ($v['url'] == $site_url.'/') $siteid = $v['siteid'];
}
}
if (empty($siteid)) $siteid = 1;
return $siteid;
}
这样小改动一下,即可实现后台实时获取当前站点.
另外,多站点前台也有问题,
前台动态首页完全不支持多站点
问题位置 : \phpcms\modules\content\index.php 第16行开始
if(isset($_GET['siteid'])) {
$siteid = intval($_GET['siteid']);
} else {
$siteid = 1;
}
如果要支持多站点 这里应该是改为
if(isset($_GET['siteid'])) {
$siteid = intval($_GET['siteid']);
} else {
$siteid = get_siteid();
}
当然.通过修改路由规则也能让这?返闹С? 但这里用的是 GET变量,也就是说,除了第一个站点的域名是正常的外,所有的站点的首页路径都需要变成 XXX.com/siteid=? 才能让首页动态显示 你们不觉得这是很大的问题吗。

本文标签:

很赞哦! (2)

暂无内容
暂无内容

相关源码

  • pbootcms模板(PC+WAP)APP应用软件下载类官网源码为APP应用软件官网打造的响应式解决方案,PC端与移动端(WAP)数据实时同步,一次更新全网生效,满足多终端用户无缝体验需求。查看源码
  • (pc+wap)pbootcms网站模板蓝色小程序网站开发公司基于PbootCMS内核开发的营销型门户模板,为小程序开发公司、电商软件企业打造。采用HTML5自适应架构,实现PC与手机端数据实时同步展示查看源码
  • 手机软件APP游戏软件下载网站Pbootcms模板(自适应)基于PbootCMS内核深度开发的网站模板,为移动互联网时代打造。无论是手机APP推广、游戏软件展示,还是各类企业官网需求,本模板都能通过简单的图文替换实现行业无缝切换查看源码
  • pbootcms模板(自适应)花店鲜花花卉园艺网站源码一款基于PbootCMS内核开发的花店鲜花配送与花卉园艺企业网站模板。该模板采用响应式设计,自动适配手机、平板等移动设备,确保用户在任何设备上都能获得优质浏览体验。查看源码
  • (自适应)品牌创意设计作品工作室pbootcms模板下载该模板适用于品牌策划、艺术设计、广告创意公司官网,亦可通过替换图文快速适配其他行;高端创意设计公司工作室网站源码极简代码架构、艺术化视觉布局、企业级功能扩展性。查看源码
  • (PC+WAP)绿色草坪地坪操场pbootcms网站模板该模板基于PbootCMS内核开发,专为人造草坪、地坪施工企业设计,采用绿色主题呼应行业属性,实现PC与WAP端全栈响应式适配,确保跨设备无缝浏览体验。查看源码
暂无内容
暂无内容
分享笔记 (共有 0 篇笔记)
昵称:
匿名发表 登录账号
         
验证码: