给帝国CMS装上星级评分,让网站更灵动
帝国 cms星级评分

首页 2025-09-02 23:18:31

今天心情好得离谱,像刚加满一箱98号汽油,一脚油门就能从键盘冲进宇宙。于是我打开后台,决定给那台老旧的帝国CMS做一次“抬头看星星”的手术——给它装上星级评分。别小看几颗星星,它们可是能让访客在0.1秒内决定要不要继续留下的魔法按钮。
第一步,先把“e/plus/star.php”拖进项目,这就像给夜行司机递上一副夜视镜。文件放进去后,我像给猫系铃铛一样,在模板里叮叮当当插进一段JS调用:。一刷新,页面上立马蹦出五颗小星星,像五个刚放学的熊孩子,排排坐,眨眼睛。
可熊孩子不听话,得立规矩。我钻进“userfun.php”,写下一行:$my_star=$empire->fetch1("select * from {$dbtbpre}ecms_".$classid." where id='$id'");,顺手把评分数和总票数取回来。接着在模板里加了一个onclick="StarVote(【!--id--】)",点星就投票,像极了小时候往同学背后贴“好人卡”。
但投票完还得刷新才能看到新数字?那多扫兴。于是我把AJAX搬了出来,用jQuery写了个$.post,把结果悄悄塞回页面,星星尾巴后面立刻冒出“9.6分/188人”的小红字,像爆米花噼里啪啦炸开。后台再配一个“只允许会员评分”的小开关,顺手把刷票的小黑手关在门外。
一切搞定,我点了一颗星,页面没闪、没跳,分数却从9.6升到9.7,像有人在夜空里轻轻擦了一根火柴。那一刻,我突然懂了:技术也可以很温柔,温柔到让每一次点击都像在银河里留下一颗会发光的名字。
教程:帝国CMS星级评分超细步骤
  1. 准备文件
    下载官方或可信的 star 插件包,解压后把 star.php、star.js、star.css 扔进 /e/plus/。
  2. 开启模型字段
    后台→系统→数据表与系统模型→管理模型→修改所需模型→增加字段:
    · 字段名:infopfen
    · 标识:总评分
    · 类型:INT(11) 默认0
    再增加字段:
    · 字段名:infopfennum
    · 标识:总投票数
    · 类型:INT(11) 默认0
    保存后更新缓存。
  3. 嵌入前端代码
    在内容模板(如 /e/data/template/plus/viewtemp.php)里插入:
    复制
    
    
    
  4. 创建投票接口
    在 /e/plus/star.php 顶部加安全校验:
    复制
    require('../class/connect.php');
    require('../class/db_sql.php');
    $link=db_connect();
    $empire=new mysqlquery();
    $id=(int)$_GET【'id'】;
    $classid=(int)$_GET【'classid'】;
    接收AJAX POST:
    复制
    $fen=(int)$_POST【'fen'】;
    $empire->query("update {$dbtbpre}ecms_".$classid." set infopfen=infopfen+$fen,infopfennum=infopfennum+1 where id='$id'");
    echo round(($r【'infopfen'】+$fen)/($r【'infopfennum'】+1),1);
  5. 前端无刷新提交
    在 star.js 里写:
    复制
    function StarVote(f){
        $.post('【!--news.url--】e/plus/star.php',{id:【!--id--】,fen:f},function(d){
            $('#starscore').html(d+'分');
        });
    }
  6. 权限与防刷
    后台→系统→会员→会员组权限,给“允许评星”打勾;
    star.php 里再加 if(empty($userid)) exit('login'); 防游客刷票。
  7. 样式微调
    改 star.css,把星星换成火箭、爱心、猫爪都行,只要 background:url(…) 指对路径。
  8. 最终测试
    用会员账号点星,看数据库 infopfen 与 infopfennum 是否同步增长,前台是否实时刷新。如果一切OK,就把笑容留在脸上,把代码留在服务器,把银河留给每个来访的人。
nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密