点赞收藏

为 1CMS 提供点赞、收藏互动功能,支持多种内容类型,可配置按钮样式,支持组合调用和独立调用。
标识interact
版本号1.0
文件大小756.6KB
发布时间2026-05-18
最近更新2026-05-18
作者 meizie
获取
请在网站后台-应用商店内安装此应用.

Interact 互动插件

为 1CMS 提供点赞、收藏互动功能,支持多种内容类型,可配置按钮样式。


快速开始

基本调用

// 点赞按钮
{interact:like('article', $id)}

// 收藏按钮
{interact:favorite('article', $id)}

// 同时显示点赞+收藏
{interact:code('article', $id)}

参数说明

方法 参数 说明
like target_type, target_id, labelStyle 点赞按钮
favorite target_type, target_id, labelStyle 收藏按钮
code target_type, target_id, mode 自定义模式
  • target_type(必填):目标类型,用于区分不同内容的互动数据。如 'article''dynamic' 等,自定义字符串,调用和查询时保持一致即可。
  • target_id(必填):目标内容的 ID。
  • labelStyle(可选):按钮样式,覆盖后台全局配置。
  • mode(可选):'both'(默认)、'like''favorite'

按钮样式(labelStyle)

通过第三个参数 labelStyle 控制按钮显示样式:

效果
'icontext' 图标 + 文字(默认)
'icon' 纯图标,不显示文字
// 图标+文字(默认)
{interact:like('article', $id)}
{interact:like('article', $id, 'icontext')}

// 纯图标
{interact:like('article', $id, 'icon')}
{interact:favorite('article', $id, 'icon')}

不传 labelStyle 时使用后台全局配置的样式(默认 icontext)。

target_type 说明

target_type 是自定义分类标签,用于区分不同场景下的互动数据,与 CMS 模型/栏目无关联。

// 文章点赞
{interact:like('article', $id)}

// 动态点赞
{interact:like('dynamic', $id)}

注意target_type 不同则互动数据独立计算。同一内容应使用相同的 target_type,否则首页和详情页的点赞/收藏数不共享。


资源引用

插件支持两种资源引用方式:

方式一:自动引入(推荐)

只需调用互动按钮,CSS 和 JS 会自动引入(通过 $GLOBALS['interact_assets_loaded'] 防止重复加载):

{interact:code('article', $id)}  // 自动引入 interact.css 和 interact.js

方式二:手动引入

如需在页面头部预先引入:

{interact:css()}
{interact:js()}

后台配置

配置项 说明 默认值
按钮样式 icontext(图标+文字)或 icon(纯图标) icontext
点赞文字 点赞按钮的文字标签 点赞
收藏文字 收藏按钮的文字标签 收藏

互动逻辑

点赞/收藏为切换逻辑(toggle):

  1. 用户首次点击 → 记录互动数据,addtime 保存当前 Unix 时间戳
  2. 用户再次点击 → 删除记录(取消点赞/收藏)
  3. 取消后重新点击 → 插入新记录,时间为重新操作的时间