pixelbrackets
pixelbrackets

Reputation: 2318

How to convert nodes to uris in TYPO3 Neos

I created a custom node type with a link field in TYPO3 Neos 1.2.1. When I pass the property value to the template, and try to render it as a link, then an execption is thrown:

Paths must not contain two consecutive slashes.

The link property value is »node://c969f0d4-2e01-87b9-25a8-6079c5a292fe«. I have read, that the link has to be converted to an URI first. However, the suggested processor has no effect on my site.

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')}
    [email protected] = TYPO3.Neos:ConvertUris {
        #forceConversion = true
    }
}

Fluid Template

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

Upvotes: 0

Views: 960

Answers (1)

ChristianM
ChristianM

Reputation: 1823

I bet if you keep the processor and remove the neos:link.node from your template then the

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

will show a http:// link to the node. The error happens with the link ViewHelper which expects a node or node path but neither a node:// not a href:// link (maybe we should support that in the future). So you can use a plain <a href="{link}">

Upvotes: 1

Related Questions