欢迎访问艾立兹站 Aliz- 专注建站教程与技术分享
您当前的位置:首页 > 建站教程 > 帝国 CMS 教程

帝国 CMS8.0 站群插件 分站独立友情链接正确调用方法

时间:2026-06-29 19:27:59  来源:阿里站  作者:SKY  阅读:

一、原理说明

  1. 站群插件新建数据表:phome_enewslink_site,在原有友情链接基础上增加 siteid 分站 ID 字段。
  2. 原生 [ListLinks]、[phomelink] 不带站点条件,只会读取主站数据,分站调用会全部错乱。
  3. 前台模板必须使用灵动标签 + 自动获取当前分站 ID,自动筛选 siteid=$siteid,只显示当前域名对应的友情链接。

二、基础变量(站群全局自带)


模板内可以直接调用当前分站 ID:
php
运行
<?=$siteid?>

不用自己定义,站群插件已全局注入变量。

三、方案 1:灵动标签(推荐,可自定义 HTML 结构)

1)文字友情链接(审核通过 + 当前分站)


php
运行
[e:loop={"select lname,lurl,lpic from [!db.pre!]enewslink_site where checked=1 and siteid=$siteid order by myorder",30,24,0}]
<li>
    <a href="<?=$bqr[lurl]?>" target="_blank"><?=$bqr[lname]?></a>
</li>
[/e:loop]

2)图片 LOGO 友情链接


php
运行
[e:loop={"select lname,lurl,lpic from [!db.pre!]enewslink_site where checked=1 and siteid=$siteid and lpic<>'' order by myorder",20,24,0}]
<a href="<?=$bqr[lurl]?>" target="_blank">
    <img src="<?=$bqr[lpic]?>" alt="<?=$bqr[lname]?>">
</a>
[/e:loop]

3)调用指定分类 + 当前分站


加上分类 ID 条件 classid=1
php
运行
[e:loop={"select lname,lurl from [!db.pre!]enewslink_site where checked=1 and siteid=$siteid and classid=1 order by myorder",20,24,0}]
<a href="<?=$bqr[lurl]?>"><?=$bqr[lname]?></a>
[/e:loop]

四、方案 2:兼容原有 ListLinks 列表标签(带站点筛选)


新建自定义列表 SQL 调用,绑定分站 ID:
plaintext
[ListLinks classid=0 num=30 type=0 orderby=myorder sqlwhere="siteid=$siteid"]
<a href="{$r[lurl]}">{$r[lname]}</a>
[/ListLinks]
关键参数:sqlwhere="siteid=$siteid",强制只读取当前站点友链数据。

五、方案 3:全站统一主站友链(不分站共用一套)


如果想要所有分站共用同一套友情链接,直接调用系统默认表即可:
php
运行
[e:loop={'select lname,lurl from [!db.pre!]enewslink where checked=1 order by myorder',30,24,0}]
<a href="<?=$bqr[lurl]?>"><?=$bqr[lname]?></a>
[/e:loop]

六、后台添加分站友情链接操作步骤

  1. 登录后台,打开【站群管理】→【分站友情链接】;
  2. 先选择对应的分站域名(siteid);
  3. 新增文字链接或图片链接,系统自动写入 siteid;
  4. 状态设置为已审核(checked=1);
  5. 保存后更新全站缓存与分站独立缓存。

七、常见问题解决

问题 1:分站调用不到友情链接

  1. 数据表确认:调用表必须是 enewslink_site,不是原生 enewslink
  2. 检查 SQL 条件里必须带上 siteid=$siteid
  3. 确认友链状态为已审核 checked=1;
  4. 清理分站独立缓存(站群每个站点缓存独立,只清全站缓存无效)。

问题 2:$siteid 变量为空,筛选失效


在模板顶部手动开启站群变量加载,在模板最上方加入:
php
运行
<?php
global $siteid;
?>

问题 3:多域名泛域名分站自动匹配


站群插件会自动根据访问域名自动赋值 $siteid,无需额外代码,伪静态与泛域名均兼容。

八、字段对照表(enewslink_site)


表格
字段 说明
siteid 分站 ID
lid 友链 ID
classid 友链分类 ID
lname 网站名称
lurl 链接地址
lpic LOGO 图片
checked 审核状态 1 = 显示 0 = 隐藏
myorder 排序值

原文来源:https://www.aliz.cn/阿里站帝国 CMS 二次开发原创教程。转载请说明来源

本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载

发表评论 共有0条评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
公众号二维码

扫码关注公众号
获取全套技术教程