TYPO3 Neos:Apply content属性在JavaScript中运行时出错



我尝试创建一个自定义节点类型,如多列,默认的ContentCollection应该用一个额外的属性进行扩展。到目前为止,后端和前端视图都能正常工作。但是,如果ContentCollection的属性span发生更改,编辑器将在JavaScript超时错误中运行。控制台中没有错误或警告。

错误消息:

警告:未回答脚本

这是一个非常重要的事件蚂蚁不认识我。Sie können das Skcript jetzt stoppen,im Debuggeröffnen或weiter ausführen。

脚本:http://domain.com/_Resources/Static/Packages/TYPO3.Neos/JavaScript/ContentModule-built.js:389

要复制,请执行以下操作:

使用网站包"TYPO3.NeosDemoTypo3Org"。TYPO3 Neos v1.1.2。创建一个包"Selector.Test"

配置/设置.yaml

TYPO3:
  Neos:
    typoScript:
      autoInclude:
        'Selector.Test': TRUE
    nodeTypes:
      groups:
        selectorTest:
          label: 'Selector Test'
          position: 10

配置/节点类型.Columns.yaml

'Selector.Test:RowAbstract':
  abstract: TRUE
  superTypes:
    - 'TYPO3.Neos:Content'
  ui:
    label: 'Columns'
    group: 'selectorTest'
    icon: 'icon-columns'
    inlineEditable: TRUE
    inspector:
      groups:
        columnSettings:
          label: 'Column settings'
          position: 10
# Create a custom ContentCollection
'Selector.Test:ColumnContentCollection':
  superTypes:
    - 'TYPO3.Neos:ContentCollection'
  ui:
    label: 'Column Content Collection'
    icon: 'icon-list'
    inlineEditable: TRUE
    inspector:
      groups:
        columnSpan:
          label: 'Column span'
          position: 10
  properties:
    span:
      type: string
      defaultValue: ''
      ui:
        label: 'Span'
        reloadIfChanged: TRUE
        inspector:
          group: 'columnSpan'
# Define row with custom ContentCollection
'Selector.Test:Row':
  superTypes:
    - 'Selector.Test:RowAbstract'
  childNodes:
    column0:
      type: 'Selector.Test:ColumnContentCollection'
    column1:
      type: 'Selector.Test:ColumnContentCollection'

资源/Private/TypoScript/Root.ts2

prototype(Selector.Test:Row) < prototype(TYPO3.Neos:Content) {
    templatePath = 'resource://Selector.Test/Private/Templates/NodeTypes/Row.html'
    attributes {
        class = 'row'
    }
    columns = TYPO3.TypoScript:Collection {
        collection = ${q(node).children('[instanceof TYPO3.Neos:ContentCollection]')}
        itemRenderer = Selector.Test:Column
        itemName = 'node'
    }
}
prototype(Selector.Test:Column) < prototype(TYPO3.TypoScript:Template) {
    node = ${node}
    templatePath = 'resource://Selector.Test/Private/Templates/NodeTypes/Column.html'
    attributes = TYPO3.TypoScript:Attributes {
        class.span = ${q(node).property('span') ? q(node).property('span') : null}
    }
    columnContentCollection = TYPO3.Neos:ContentCollection {
        nodePath = '.'
    }
}

Resources/Private/Templates/NodeTypes/Column.html

{namespace ts=TYPO3TypoScriptViewHelpers}
<div{attributes -> f:format.raw()}>
    <ts:render path="columnContentCollection" />
</div>

Resources/Private/Templates/NodeTypes/Row.html

{namespace ts=TYPO3TypoScriptViewHelpers}
<div{attributes -> f:format.raw()}>
    <ts:render path="columns" />
</div>

这似乎就是Jira问题中描述的问题。不幸的是,它还没有解决,但作为一个开放的更改(供审查),存在一个初步解决方案:https://review.typo3.org/#/c/31244/

您可以尝试将此更改应用于TYPO3.Neos软件包,如果它解决了您的问题,请提供反馈,以便将其纳入下一个Neos版本中。

最新更新