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

帝国 CMS 会员中心首页 SQL 调用各自定义模型内容完整教程

时间:2026-07-02 20:24:49  来源:阿里站  作者:SKY  阅读:

一、基础说明

  1. 会员中心模板路径:/e/template/member/,一般修改 index.temp 会员首页模板
  2. 每个自定义模型对应独立数据表: 文章模型:phome_ecms_news 图片模型:phome_ecms_pic 下载模型:phome_ecms_down 视频模型:phome_ecms_movie 商城商品模型:phome_ecms_shop
  3. 统一关联字段:userid = 当前登录会员 ID
  4. 会员全局变量:$muserid 模板内直接调用,代表登录会员 ID

二、通用灵动标签格式(会员中心专用)


php
运行

[e:loop={"SQL查询语句",显示条数,循环ID,0}]
// 循环输出内容 HTML
标题:<?=$bqr[title]?>
发布时间:<?=$bqr[newstime]?>
审核状态:<?=$bqr[checked]?>
[/e:loop]

三、分模型完整 SQL 调用代码

1、调用会员发布的文章模型(news)


php
运行

[e:loop={"select id,title,newstime,checked from [!db.pre!]ecms_news where userid=$muserid order by newstime desc",10,24,0}]
<li>
    <a href="<?=$public_r[newsurl]?>?id=<?=$bqr[id]?>" target="_blank"><?=$bqr[title]?></a>
    <?php if($bqr[checked]==0){echo '<span style="color:red">待审核</span>';}else{echo '<span style="color:green">已审核</span>';}?>
    <span><?=date('Y-m-d',$bqr[newstime])?></span>
</li>
[/e:loop]

2、图片模型 pic


php
运行

[e:loop={"select id,title,newstime,checked,picurl from [!db.pre!]ecms_pic where userid=$muserid order by newstime desc",8,24,0}]
<div class="item">
    <img src="<?=$bqr[picurl]?>" width="80">
    <a href="<?=$public_r[picurl]?>?id=<?=$bqr[id]?>"><?=$bqr[title]?></a>
</div>
[/e:loop]

3、下载模型 down


php
运行

[e:loop={"select id,title,newstime,checked from [!db.pre!]ecms_down where userid=$muserid order by newstime desc",10,24,0}]
<a href="<?=$public_r[downurl]?>?id=<?=$bqr[id]?>"><?=$bqr[title]?></a>
[/e:loop]

4、视频模型 movie


php
运行

[e:loop={"select id,title,newstime,checked from [!db.pre!]ecms_movie where userid=$muserid order by newstime desc",10,24,0}]
<a href="<?=$public_r[movieurl]?>?id=<?=$bqr[id]?>"><?=$bqr[title]?></a>
[/e:loop]

5、商城商品模型 shop


php
运行

[e:loop={"select id,title,newstime,checked,price from [!db.pre!]ecms_shop where userid=$muserid order by newstime desc",10,24,0}]
<a href="<?=$public_r[shopurl]?>?id=<?=$bqr[id]?>"><?=$bqr[title]?></a>
售价:<?=$bqr[price]?>
[/e:loop]

四、进阶用法

1、只显示已审核内容(checked=1)


在 where 条件增加 and checked=1 示例文章模型:
sql

select id,title,newstime from [!db.pre!]ecms_news where userid=$muserid and checked=1 order by newstime desc

2、只显示待审核内容(待修改)


sql

select id,title,newstime from [!db.pre!]ecms_news where userid=$muserid and checked=0 order by newstime desc

3、合并多个模型统一展示(UNION 合并多模型)


适合会员首页一块展示全部投稿,不分模型:
php
运行

[e:loop={"
select id,title,newstime,checked,'news' as mtype from [!db.pre!]ecms_news where userid=$muserid
UNION
select id,title,newstime,checked,'pic' as mtype from [!db.pre!]ecms_pic where userid=$muserid
UNION
select id,title,newstime,checked,'down' as mtype from [!db.pre!]ecms_down where userid=$muserid
order by newstime desc
",15,24,0}]
<li>
<?php
$modelname = '';
if($bqr[mtype]=='news') $modelname='文章';
if($bqr[mtype]=='pic') $modelname='图片';
if($bqr[mtype]=='down') $modelname='下载';
?>
【<?=$modelname?>】<?=$bqr[title]?>
<?=$bqr[checked]==0?'待审核':'已审核'?>
</li>
[/e:loop]

五、分页调用(会员中心投稿分页列表)


以文章模型分页为例,灵动标签分页参数开启,第四参数改为 1:
php
运行

[e:loop={"select id,title,newstime,checked from [!db.pre!]ecms_news where userid=$muserid order by newstime desc",10,24,1}]
<li><?=$bqr[title]?></li>
[/e:loop]
<?=$pageurl?>

六、常见问题解决

  1. 调用不出数据
  • 检查模板是否为会员模板,变量$muserid仅会员页面生效;
  • 确认数据表前缀与数据库一致,使用 [!db.pre!] 通用前缀;
  • 确认投稿内容 userid 和当前登录会员 ID 一致。
  1. 非当前会员内容也显示 SQL 缺少 where userid=$muserid 筛选条件,必须带上。
  2. 链接 404 不同模型前台地址变量不同: 文章 $public_r[newsurl]、图片 $public_r[picurl]、下载 $public_r[downurl]
  3. 合并 UNION 报错 多个模型查询字段数量、字段类型必须完全一致,缺少字段会 SQL 报错。

七、使用步骤

  1. 后台模板管理→会员模板,打开会员首页 index.temp;
  2. 将对应模型灵动标签粘贴到需要展示的位置;
  3. 保存模板,更新全站缓存;
  4. 前台登录会员账号,即可看到自己发布的对应模型内容。

本文为阿里站原创帝国 CMS 二次开发教程,转载请保留原文链接 https://www.aliz.cn/

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

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

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