Files
lucent-laravel/docs/Schemas.md
T
2024-08-23 21:06:53 +03:00

2.7 KiB

Table of Contents

Schemas

Schemas define both the shape of your data and how the UI on the admin will behave.

There are 3 types of schemas

  • Collections: Normal data
  • Files: Images and files
  • Block: Used in the block editor

Collection Reference

  • name: The ID of the collection. Camelcase and plural is the recommended format ex. blogPosts
  • label: The friendly name of the schema
  • type: The type of the collection. Should be "collection"
  • visible: An array of field id to show on the content browser optional
  • groups: A list if group ids to separate your field in different tabs optional
  • fields: The list of your fields. Look the field reference for more
  • isEntry: If this schema is important, it will show be visible on the main the sidebar. Default: false optional
  • sortBy: The default sorting in the content browser optional
  • cardTitle: Mustache code to customize the preview field optional
  • cardImage: Field name of image you want to use as a preview image optional
  • revisions: How many revisions are going to be kept for each record optional
  • read: Array of user groups that have read permissions optional
  • write: Array of user groups that have write permissions optional

Files Reference

  • name: The ID of the collection. Camelcase and plural is the recommended format ex. blogPosts
  • label: The friendly name of the schema
  • type: The type of the collection. Should be "files"
  • path: The relative directory that these files will be stored.
  • groups: A list if group ids to separate your field in different tabs optional
  • fields: The list of your fields. Look the field reference for more
  • isEntry: If this schema is important, it will show be visible on the main the sidebar optional
  • sortBy: The default sorting in the content browser optional
  • cardTitle: Mustache code to customize the preview field optional
  • revisions: How many revisions are going to be kept for each record optional
  • read: Array of user groups that have read permissions optional
  • write: Array of user groups that have write permissions optional

A full Collection example without the fields:

{
  "label": "Departments",
  "name": "departments",
  "isEntry": true,
  "type": "collection",
  "visible": [
    "slug",
    "cover",
    "_sys.updatedAt",
    "status"
  ],
  "groups": [
    "Extra Info",
    "Metadata",
    "SEO"
  ],
  "sortBy": "-_sys.createdAt",
  "schemaTitle": "{{name}} {{slug}}",
  "schemaImage": "cover",
  "revisions": 15,
  "read": [
    "admin",
    "editors",
    "reviewers"
  ],
  "write": [
    "admin",
    "editors"
  ],
  "fields": []
}