添加插件内容模型

插件可以添加插件内容模型,用于存储内容。

参考 IServiceTableColumnDataType

  1. public IService AddContentModel(string tableName, List<TableColumn> tableColumns)

tableName 代表内容表在数据库中的名称,请设置唯一的表名;tableColumns 代表内容表在数据库中的字段信息。

下面的例子来自招聘插件,为系统添加招聘需要的内容模型:

  1. public class Main : PluginBase
  2. {
  3. public override void Startup(IService service)
  4. {
  5. service.AddContentModel("ss_jobs", new List<TableColumn>
  6. {
  7. new TableColumn
  8. {
  9. AttributeName = "Department",
  10. DataType = DataType.VarChar,
  11. DataLength = 200,
  12. InputStyle = new InputStyle
  13. {
  14. InputType = InputType.Text,
  15. DisplayName = "所属部门",
  16. IsRequired = true
  17. }
  18. },
  19. new TableColumn
  20. {
  21. AttributeName = "Location",
  22. DataType = DataType.VarChar,
  23. DataLength = 200,
  24. InputStyle = new InputStyle
  25. {
  26. InputType = InputType.Text,
  27. DisplayName = "工作地点",
  28. IsRequired = true
  29. }
  30. },
  31. new TableColumn
  32. {
  33. AttributeName = "NumberOfPeople",
  34. DataType = DataType.VarChar,
  35. DataLength = 200,
  36. InputStyle = new InputStyle
  37. {
  38. InputType = InputType.Text,
  39. DisplayName = "招聘人数",
  40. IsRequired = true,
  41. DefaultValue = "不限"
  42. }
  43. },
  44. new TableColumn
  45. {
  46. AttributeName = "Responsibility",
  47. DataType = DataType.Text,
  48. InputStyle = new InputStyle
  49. {
  50. InputType = InputType.TextEditor,
  51. DisplayName = "工作职责",
  52. IsRequired = true
  53. }
  54. },
  55. new TableColumn
  56. {
  57. AttributeName = "Requirement",
  58. DataType = DataType.Text,
  59. InputStyle = new InputStyle
  60. {
  61. InputType = InputType.TextEditor,
  62. DisplayName = "工作要求",
  63. IsRequired = true
  64. }
  65. }
  66. });
  67. }
  68. }

需要说明的是,在内容模型字段中必须包含InputStyle属性,用于设置此字段在内容编辑页面中的提交方式,请参考InputStyle