Magento2 UI 书签组件

什么是 UI 书签组件?

在 Magento2 中,UI 书签组件是列表或者表格的二级组件之一。它负责储存所有激活和修改过的数据网格状态,比如状态的筛选,列的位置,应用的排列顺序和分页等等。

字段名 类型 描述
bookmark_id int(10) 书签 ID
user_id int(10) 用户 ID
namespace varchar(255) 书签命名空间
(UX1) indertifier varchar(255 书签 ID
current smallint(6) 每个用户、命名空间和 ID 的当前书签的标记
title varchar(255) 书签标题
config longtext 书签配置(JS 书签组件的 JSON 配置)
created_at datatime 书签创建时间
updated_at datatime 书签更新时间

书签组件的结构

书签组件的结构如下:

  • 书签的集合位于 app\code\Magento\Ui\view\base\web\js\grid\controls\bookmarks\bookmarks.js

模板文件位于app\code\Magento\Ui\view\base\web\templates\grid\controls\bookmarks\bookmarks.html

  • 单独视图的子元素位于app\code\Magento\Ui\view\base\web\js\grid\controls\bookmarks\view.js

模板文件位于app\code\Magento\Ui\view\base\web\templates\grid\controls\bookmarks\view.html

书签组件使用 app\code\Magento\Ui\view\base\web\js\grid\controls\bookmarks\storage.js 的自定义属性存储来保存书签的状态,然后可以在任何设备或者浏览器获取书签。

如何获取 UI 书签组件

UI 书签组件的配置如下:

  • 模板配置

  • 组件配置

templates: {
    view: {
        component: 'Magento_Ui/js/grid/controls/bookmarks/view'
        template: 'path/to/template'
    },
    newView: {
        label: 'New View',
        index: '${ Date.now() }'
    }
}
  • storageConfig 配置
storageConfig: {
    saveUrl: 'path/to/save',
    deleteUrl: 'path/to/delete',
    namespace: 'namespace'
}

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: