答案:通过添加自定义字段digg和burry,修改模板添加顶踩按钮,创建PHP接口处理数据更新,并用JS实现异步交互,结合安全措施防止刷票,即可在phpcms中实现顶踩功能。

phpcms 的“顶踩”功能可以通过自定义字段结合简单的 PHP 逻辑和前端交互来实现。系统本身没有内置完整的顶踩模块,但你可以通过以下方式手动添加并使用。
1. 添加顶踩字段到模型
要支持顶踩,先要在对应的内容模型中添加两个字段:
- 支持数(digg):用于存储“顶”的次数,类型为 INT,默认值设为 0
- 反对数(burry):用于存储“踩”的次数,类型同样为 INT,默认值 0
进入后台 → 内容模型管理 → 修改对应模型(如文章模型)→ 字段管理 → 添加新字段,分别创建 digg 和 burry 字段。
2. 修改内容模板添加顶踩按钮
打开对应的内容显示模板文件(如 show.html),在合适位置加入顶踩按钮代码:
立即学习“PHP免费学习笔记(深入)”;
3. 创建处理顶踩的 PHP 接口
在网站某个可访问目录(如 api/)下创建一个处理脚本,例如 digg.php:
set_model(1); // 根据你的模型ID调整
// 获取当前数据
$data = $Model->get_one(array('id'=>$content_id));
if (!$data) {
exit('0');
}
$field = $type == 'digg' ? 'digg' : 'burry';
$new_value = $data[$field] + 1;
// 更新数据库
$Model->update(array($field => $new_value), array('id'=>$content_id));
// 返回最新数值
exit($new_value);
?>
4. 前端 JS 实现异步点击
在页面底部或模板中加入 JavaScript 代码:
function digg_content(id) {
send_vote(id, 'digg');
}
function burry_content(id) {
send_vote(id, 'burry');
}
function send_vote(id, type) {
$.post('/api/digg.php', {id:id, type:type}, function(res){
if (res > 0) {
if (type == 'digg') {
$('#digg_num').text(res);
} else {
$('#burry_num').text(res);
}
alert('感谢您的投票!');
} else {
alert('操作失败,请重试');
}
});
}
确保页面已加载 jQuery,否则需引入或改用原生 JS。
5. 安全与防刷建议
- 使用 cookie 或 session 记录用户是否已顶/踩过,防止重复提交
- 限制同一 IP 短时间内多次操作
- 可结合会员系统,仅允许登录用户顶踩
基本上就这些。不复杂但需要一点开发基础。按步骤操作后,你的 phpcms 站点就能支持顶踩功能了。











