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事件总线等。