×××××××××××××××××××××××× 一、安装 ××××××××××××××××××××××××
1、安装好一个帝国cms默认网站,本插件只支持UTF-8编码
2、将插件解压后得到的e文件夹上传到帝国cms网站根目录
3、在浏览器中访问以下网址,执行数据表安装程序:
你的网址/e/dongpo/zhanqun/install/index.php
4、按提示安装完后,将插件目录下的install文件夹删除或改名
5、系统文件修改:
5.1 e/class/connect.php
(1)找到 //--------------- 数据库 --------------- ,在其上一行插入代码:
require(ECMS_PATH.'e/dongpo/zhanqun/lib/dp_funs.php');
(2)找到 eReturnRewriteInfoUrl 函数,在函数的第一行插入代码:
return zq_infoRewriteUrl($classid,$id,$ecms);
(3)找到 eReturnRewriteClassUrl 函数,在函数的第一行插入代码:
return zq_classRewriteUrl($classid,$ecms);
5.2 e/class/functions.php
找到 eInsertTags 函数,在函数第一行插入代码:
return dp_eInsertTags($tags,$classid,$id,$newstime);
6、在帝国cms系统设置中,将首页设置成动态,然后在根目录中删除index.php文件
接着,打开插件目录(/e/dongpo/zhanqun/),将 “网站首页文件.php” 复制到网站根目录,改名为index.php,作为站群程序入口文件
如果跟目录下有 index.html,请将这个index.html文件也删除
7、至此,插件安装完成
×××××××××××××××××××××××× 二、使用步骤 ××××××××××××××××××××××××
1、新增栏目
本插件提供批量新增栏目功能,位置:插件》站群管理》批量处理
1.1 站群的栏目要求:
(1)每个网站只有一个大栏目,大栏目页模板作为此网站的首页
(2)每个大栏目只有一级子栏目
(3)小栏目目录必须在父栏目目录之下
(3)不支持生成静态文件,栏目页、内容页,都必须是动态页模式
实例:
----栏目---------目录----------说明----
+ 新闻网 xinwen 这是一级大栏目,也是子网站的首页
- 体育新闻 xinwen/tiyu 这是小栏目,也是子网站的栏目
- 娱乐新闻 xinwen/yule 同上
- 社会新闻 xinwen/shehui 同上
1.2 对新增栏目的建议
为最大程度提升网站性能,建议为每个子站新建数据表。不建议多个子站共用数据表
2、插件基本设置
位置:插件》站群管理》插件设置
3、新增网站
在插件管理中,新增网站,并将网站与大栏目一一绑定,位置:插件》站群管理》网站管理
经验: 设置内容页链接格式时,在必须文件名前设置一个字母前缀,这样有利于服务器伪静态配置
4、设置服务器伪静态规则
服务器伪静态规则与后台site设置中的链接格式要对应起来。
本地的一个Apache服务器上演示站的伪静态规则如下:
#######################Apache实例伪静态规则 开始####################################
#============= 为不是子站的域名设置一条免疫规则
#说明:www.mydomain.com是用于网站后台管理的域名,并且一部分栏目希望用这个域名前台访问
Rewritecond %{HTTP_HOST} ^zhanqun.schtest.com$
#说明:上一句相当于条件判断,这一句是执行规则,如果是zhanqun.schtest.com来的访问,则不再继续执行规则
RewriteRule ^(.*)$ - [L]
#============= tag规则
#这是网站全部tag页的链接,其中tempid=2是指定其模板为id=2的封面模板
RewriteRule ^tag/$ e/dongpo/zhanqun/all.php?tempid=2 [L]
#这是某个tag首页的链接,不带分页格式
RewriteRule ^tag/([0-9]+).html$ e/dongpo/zhanqun/showtag.php?tagid=$1 [L]
#这是某个tag的链接,有分页形式
RewriteRule ^tag/([0-9]+)_([0-9]+).html$ e/dongpo/zhanqun/showtag.php?tagid=$1&page=$2 [L]
#============= 栏目页
#栏目首页链接
RewriteRule ^([a-z0-9]{2,})/$ e/dongpo/zhanqun/listInfo.php?classpath=$1 [L]
#栏目分页链接,有分页
RewriteRule ^([a-z 0-9]{2,})/index_([0-9]+).html$ e/dongpo/zhanqun/listInfo.php?classpath=$1&page=$2 [L]
#============= 内容页
#内容页链接,无分页,其中字母a可以是别的字母,与网站设置中保持一致
RewriteRule ^([a-z0-9]{2,})/a([0-9]+).html$ e/dongpo/zhanqun/showInfo.php?classpath=$1&id=$2 [L]
#内容页链接,带分页
RewriteRule ^([a-z0-9]{2,})/a([0-9]+)_([0-9]+).html$ e/dongpo/zhanqun/showInfo.php?classpath=$1&id=$2&page=$3 [L]
#=============sitemap
#sitemap文件地址,pass=98562yxz是密钥验证,改为与插件设置中的一样
RewriteRule ^sitemap_([0-9]+)_(class|tag|info)_([0-9a-z]*)_([0-9]+).xml$ e/dongpo/zhanqun/sitemap.php?classid=$1&type=$2&tbname=$3&page=$4&pass=98562yxz
#######################Apache实例伪静态规则 结束####################################
5、将站群的域名解析到网站根目录下
程序会根据设置的域名调用对应栏目的数据
6、修改模板、移动模板组
设置移动模板后,移动设备访问会自动切换到移动模板组,百度称这种为“代码适配”
知识:代码适配 —— 通过服务器判断用户当前浏览器(pc/移动),从而生成不同版本的页面,但url保持不变
7、至此,站群基本架构搭建完成
×××××××××××××××××××××××× 三、模板调用说明 ××××××××××××××××××××××××
站群插件模板的调用与原版帝国CMS几乎无区别,但新增一些特性
以下所说“所有模板”是指:大栏目的封面模板、信息列表模板、内容页模板、tag页模板
1、在所有模板中,可以用以下原生PHP变量调用对应数据
$GLOBALS['site_r'] 站点配置,数组格式
$GLOBALS['siteid'] 当前站点的id
$GLOBALS['topcid'] 当前站点所绑定的大栏目id
site_r数组中的详细情况见后面说明
2、链接调用函数
栏目链接:classUrl($classid) classid 为该栏目的id
信息链接:inforUrl($classid,$id) classid 为该信息栏目id,id 为该信息的id
tag链接:tagUrl($tagid,$classid) tagid 为该tag的id,classid 为该子站所绑定大栏目id,上一条说明中有调用方法
当前子站域名:$GLOBALS['site_r']['url']
3、tag调用
tag数据存于系统自带的enewstags数据表中,站群插件为此表新增了classid字段,代表大栏目id,判断tag属于哪个子站
(1)用灵动标签调用当子前网站最新100个tag的SQL语句为:
select * from {$dbtbpre}enewstags where classid='$GLOBALS[topcid]' order by tagid desc limit 100
(2)当前信息的tag:
表示调用10个tag,单个tag用
标签
4、友情链接调用
调用20条友情链接:
5、翻页函数的样式
用包裹翻页标签,实例样式如下:
.fanye a{
padding:3px 6px;
margin:0 3px 0 0;
border:1px solid #aaa;
color:#000;
text-decoration: none;
}
.fanye a.current{
background:#aaa;
color:#fff;
}
.fanye a:hover{
background:#aaa;
color:#fff;
}
6、站群配置,site_r数组中的数据说明
$GLOBALS['site_r'][indexdomain] 非站群首页域名
$GLOBALS['site_r'][opencache] 是否开启网站缓存功能,1开启,0关闭
$GLOBALS['site_r'][cachepath] 缓存总目录名
$GLOBALS['site_r'][mobtemp] 开启移动设备模板组,1开启,0关闭
$GLOBALS['site_r'][mobtempid] 移动模板组ID
$GLOBALS['site_r'][sitemap_pass] SiteMap密钥
$GLOBALS['site_r'][sitemap_cachetime] SiteMap缓存时间
$GLOBALS['site_r'][sitemap_max] SiteMap单文件链接最大数
$GLOBALS['site_r'][$GLOBALS['siteid']][id] 站点id(与$GLOBALS['siteid']相同)
$GLOBALS['site_r'][$GLOBALS['siteid']][name] 网站名
$GLOBALS['site_r'][$GLOBALS['siteid']][url] 网站地址
$GLOBALS['site_r'][$GLOBALS['siteid']][domain] 网站域名
$GLOBALS['site_r'][$GLOBALS['siteid']][classid] 绑定栏目ID(与$GLOBALS['topcid']相同)
$GLOBALS['site_r'][$GLOBALS['siteid']][addtime] 添加此网站的时间
$GLOBALS['site_r'][$GLOBALS['siteid']][data1] 备用资料一
$GLOBALS['site_r'][$GLOBALS['siteid']][data2] 备用资料二
$GLOBALS['site_r'][$GLOBALS['siteid']][data3] 备用资料三
$GLOBALS['site_r'][$GLOBALS['siteid']][cachetime] 动态页缓存时间
$GLOBALS['site_r'][$GLOBALS['siteid']][re_list_0] 栏目页无分页URL规则
$GLOBALS['site_r'][$GLOBALS['siteid']][re_list_1] 栏目页有分页URL规则
$GLOBALS['site_r'][$GLOBALS['siteid']][re_article_0] 内容页无分页URL规则
$GLOBALS['site_r'][$GLOBALS['siteid']][re_article_1] 内容页有分页URL规则
$GLOBALS['site_r'][$GLOBALS['siteid']][re_tag_0] TAG无分页URL规则
$GLOBALS['site_r'][$GLOBALS['siteid']][re_tag_1] TAG有分页URL规则