Tina具有许多高级功能,可以自定义整个CMS编辑体验。
Tina允许通过ui
属性自定义任何字段。这使得可以为编辑者创建定制化的体验。主要的自定义功能包括:
export default defineConfig({//...schema: {collections: [{name: 'posts',label: '博客文章',path: 'content/posts',format: 'mdx',fields: [{type: 'string',label: '标题',name: 'title',ui: {validate: (value) => {if (value?.length > 40) {return '标题不能超过40个字符'}},},},// ... 其他字段],},],},})// ...
tina/config.{ts,js,tsx}
配置文件中有一个可选的cmsCallback
参数,可以添加用于自定义CMS实例。
// ...export default defineConfig({// ...+ cmsCallback: (cms) => {+ cms.sidebar.position = 'overlay'+ return cms+ }})
cmsCallback
钩子主要用于注册自定义字段插件。它还可以用于修改Tina的UI、在特定页面动态隐藏侧边栏、接入CMS事件总线等。