Как преобразовать узлы в Uris в TYPO3 Neos

Я создал пользовательский тип узла с полем связи в TYPO3 Neos 1.2.1. Когда я передаю значение свойства в шаблон и пытаюсь отобразить его как ссылку, возникает исключение:

Paths must not contain two consecutive slashes.

Значение свойства ссылки: "node://c969f0d4-2e01-87b9-25a8-6079c5a292fe". Я прочитал, что ссылка должна быть сначала преобразована в URI. Тем не менее, предлагаемый процессор не влияет на мой сайт.

TypoScript2

prototype(Acme.MySitePackage:Teaser) < prototype(TYPO3.Neos:Content) {
    templatePath = 'resource://Acme.MySitePackage/Private/Templates/NodeTypes/Teaser.html'

    title = ${q(node).property('title')}
    text = ${q(node).property('text')}
    image = ${q(node).property('image')}
    link = ${q(node).property('link')}
    link.@process.convertUris = TYPO3.Neos:ConvertUris {
        #forceConversion = true
    }
}

Жидкий шаблон

<f:debug>{link}</f:debug>
<neos:link.node node="{link}" />

1 ответ

Решение

Бьюсь об заклад, если вы сохраните процессор и удалите neos:link.node из вашего шаблона, то

<f:debug>{link}</f:debug>

покажет ссылку http: // на узел. Ошибка происходит со ссылкой ViewHelper, которая ожидает узел или путь к узлу, но не связывает ни узел: //, ни ссылку href: // (возможно, мы должны поддерживать это в будущем). Таким образом, вы можете использовать равнину <a href="{link}">

Другие вопросы по тегам