2014-11-11 3 views
0

Я пытаюсь создать собственный тип узла, например, несколько столбцов, а значение по умолчанию ContentCollection должно быть расширено дополнительным свойством. До сих пор бэкэнд и внешний вид. Но если свойство span из ContentCollection изменено, редактор запускается в ошибке тайм-аута JavaScript. В консоли нет ошибок или предупреждений.TYPO3 Neos: применение свойства содержимого запускается в ошибке JavaScript

Сообщение об ошибке:

Предупреждение: Не ответив Script

Ein Skript Ауф Dieser Seite ист eventuell beschäftigt Одер эс antwortet Nicht Mehr. Sie können das Skript jetzt stoppen, im Debugger öffnen oder weiter ausführen.

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

Для воспроизведения сделать следующее:

Использование пакета сайта "TYPO3.NeosDemoTypo3Org". TYPO3 Neos v1.1.2. Создать пакет "Selector.Test"

Configuration/Settings.yaml

TYPO3: 
    Neos: 

    typoScript: 
     autoInclude: 
     'Selector.Test': TRUE 

    nodeTypes: 
     groups: 
     selectorTest: 
      label: 'Selector Test' 
      position: 10 

Configuration/NodeTypes.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 = '.' 
    } 
} 

Ресурсы/Частные/Шаблоны/NodeTypes/Column.html

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

Ресурсы/Private/Templates/NodeTypes/Row.html

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

ответ

0

Это, как представляется, проблема, описанная в this Jira issue. К сожалению, он еще не был решен, но предварительное решение существует как открытое изменение (для обзора): https://review.typo3.org/#/c/31244/

Вы можете попытаться применить это изменение к пакету TYPO3.Neos и дать обратную связь, если оно решит вашу проблему, поэтому оно могут быть включены в следующий выпуск Neos.

+0

Я пробовал этот патч около недели назад в версиях v1.1.2 и v1.2-бета, но это не решает проблему. Между тем я использую другой метод и больше не нуждаюсь в нем. Но для будущего это может быть полезно, я думаю. – user2513437

Смежные вопросы