Как преобразовать узлы в 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}">