用户收藏 v1.7.0
Biz增加onChange方法,支持监听收藏状态变化
2026-09-04 更新日志
  • 新增:Biz 增加 onChange 方法,支持监听收藏状态变化

  • 优化:多语言管理菜单显示优化

用户收藏

模块介绍

「用户收藏」是一个提供快速构建用户收藏系统的功能

功能特性

  • 多场景适用
  • 一键增加收藏按钮
功能特性
    收藏管理
        收藏增删改查
        多业务场景隔离
        自动去重
    展示方式
        收藏列表展示
        收藏按钮组件
    扩展能力
        业务自定义注册
        收藏状态监听

使用场景

  • 文章、帖子等内容收藏功能
  • 商品收藏、店铺关注等电商场景
  • 任何需要用户收藏标记的业务场景

三步实现一个收藏系统

第一步,实现一个需要收藏的业务场景,比如 文章(Post) 收藏

class PostMemberFavBiz extends AbstractMemberFavBiz
{
    const NAME = 'post';

    public function name()
    {
        return self::NAME;
    }

    public function title()
    {
        return 'Post收藏';
    }

    public function memberMenu()
    {
        return [
            'title' => '内容',
            'icon' => 'list',
            'sort' => 100,
            'children' => [
                [
                    'title' => '收藏的Post',
                    'url' => modstart_web_url('member_fav/' . self::name()),
                ],
            ]
        ];
    }

    public function memberTitle()
    {
        return '收藏的Post';
    }

    public function memberGridItem($item)
    {
        $post = ModelUtil::get('post', $item['bizId']);
        return TextLink::primary(htmlspecialchars($post['title']), modstart_web_url('post/' . $post['id']), 'target="_blank"');
    }
}

第二步,注册到收藏系统中

\Module\MemberFav\Biz\MemberFavBiz::register(PostMemberFavBiz::class);

第三步,引入一个收藏按钮

@include('module::MemberFav.View.inc.favBtn',['biz'=>'post','bizId'=>'文章ID'])

模块入口

  • /member_fav/{biz} 收藏列表
QQ
微信
客服