Magnolia 自定义内容类型作为属性

Posted

技术标签:

【中文标题】Magnolia 自定义内容类型作为属性【英文标题】:Magnolia custom content type as property 【发布时间】:2019-02-08 14:27:06 【问题描述】:

我定义了两种内容类型:

作者-ct.yaml

datasource:
  workspace: books
  rootPath: /
  namespaces:
    lib: https://www.magnolia-travel.com/jcr/1.0/lib
  autoCreate: true

model:
  nodeType: lib:author
  properties:
    - name: name
    - birthdate: Date

books-ct.yaml

datasource:
  workspace: books
  rootPath: /
  namespaces:
    lib: https://www.magnolia-travel.com/jcr/1.0/lib
  autoCreate: true

model:
  nodeType: lib:book
  properties:
    - name: author
      type: lib:author
    - name: ed
      type: Boolean
    - name: title
    - name: description
    - name: publisher
    - name: publish_date
      type: Date
    - name: isbn13

如你所见,我定义了类型为 lib:author 的 author 属性(在 author-ct.yaml 中定义)

当我创建lib:book 类型的新项目时,会出现以下编辑器:

我可以在作者字段中输入任何内容并保存对象而不会出错。看起来 Magnolia 忽略了我提供的类型并将类型字符串用于属性“作者”。我想在那里有一些定义作者的下拉列表。我怎样才能实现它?

【问题讨论】:

【参考方案1】:

文档声明“You can only reference submodels defined in the same content type”。您是否尝试在 books-ct.yaml 中定义 lib:author

【讨论】:

'author' 不是 'lib:book' 的子模型,它非常独立。我通过编辑器配置找到了一个解决方案,只是需要时间来发布它:)

以上是关于Magnolia 自定义内容类型作为属性的主要内容,如果未能解决你的问题,请参考以下文章

Magnolia CMS 中自定义内容类型的链接

在 drupal 8 的另一个自定义内容类型字段中使用自定义内容类型作为字段

Magnolia 5.5.5 带有嵌套块的自定义内容编辑器

Magnolia CMS,内容应用程序,从属性中命名节点

Magnolia 5.5.5 自定义内容编辑器应用程序(故事)自定义 CKEditor 配置

将数组内容(自定义类型)写入 plist 作为 swift 中的键控数组