帝国 CMS 会员中心首页 SQL 调用各自定义模型内容完整教程
时间:2026-07-02 20:24:49 来源:阿里站 作者:SKY 阅读:
一、基础说明
会员中心模板路径:/e/template/member/,一般修改index.temp会员首页模板每个自定义模型对应独立数据表: 文章模型:phome_ecms_news图片模型:phome_ecms_pic下载模型:phome_ecms_down视频模型:phome_ecms_movie商城商品模型:phome_ecms_shop统一关联字段:userid= 当前登录会员 ID会员全局变量:$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?>
六、常见问题解决
调用不出数据
检查模板是否为会员模板,变量$muserid仅会员页面生效;确认数据表前缀与数据库一致,使用[!db.pre!]通用前缀;确认投稿内容 userid 和当前登录会员 ID 一致。
非当前会员内容也显示 SQL 缺少where userid=$muserid筛选条件,必须带上。链接 404 不同模型前台地址变量不同: 文章$public_r[newsurl]、图片$public_r[picurl]、下载$public_r[downurl]合并 UNION 报错 多个模型查询字段数量、字段类型必须完全一致,缺少字段会 SQL 报错。
七、使用步骤
后台模板管理→会员模板,打开会员首页 index.temp;将对应模型灵动标签粘贴到需要展示的位置;保存模板,更新全站缓存;前台登录会员账号,即可看到自己发布的对应模型内容。
本文为阿里站原创帝国 CMS 二次开发教程,转载请保留原文链接 https://www.aliz.cn/
本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载
发表评论
共有0条评论