-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPage.fusion
98 lines (90 loc) · 3.33 KB
/
Page.fusion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
prototype(Garagist.Mjml:Page) < prototype(Neos.Fusion:Component) {
language = null
languageDimension = 'language'
title = ${q(documentNode).property('titleOverride') || q(documentNode).property('title')}
debugUrl = Neos.Neos:NodeUri {
node = ${documentNode}
absolute = true
additionalParams = ${{mjml: true}}
}
@context {
documentNode = ${q(documentNode).context({'workspaceName': 'live'}).get(0)}
node = ${q(node).context({'workspaceName': 'live'}).get(0)}
site = ${q(site).context({'workspaceName': 'live'}).get(0)}
}
prototype(Neos.Neos:ContentCase) {
mjml {
condition = Neos.Fusion:CanRender {
type = ${node.nodeType.name + '.Mjml'}
}
type = ${node.nodeType.name + '.Mjml'}
}
mjmlDebug {
condition = true
renderer = Neos.Fusion:Component {
debugOutputMode = ${Configuration.setting('Garagist.Mjml.debugOutputMode')}
text = 'No MJML renderer found for node type'
name = ${node.nodeType.name}
renderer = afx`
<mj-section @if={props.debugOutputMode == true} background-color="#b91c1c">
<mj-column>
<mj-text align="center" color="#fff" font-size="16px">
{props.text} <br />
<code style="font-size:20px">{props.name}</code>
</mj-text>
</mj-column>
</mj-section>
<Neos.Fusion:Fragment @if={props.debugOutputMode == 'comment'}>
{'<!--'}{props.text} {props.name}{'-->'}
</Neos.Fusion:Fragment>
`
}
}
}
prototype(Garagist.Mjml:Helper.Visibility) {
inBackend = false
onNewsletter = true
}
prototype(Neos.Neos:NodeUri) {
absolute = true
}
prototype(Neos.Neos:ConvertUris) {
absolute = true
forceConversion = true
externalLinkTarget = ''
resourceLinkTarget = ''
}
renderer = Garagist.Mjml:Presentation.Page {
@apply.props = ${props}
lang = Neos.Fusion:Case {
@process.convert = ${value ? String.replace(value, '_', '-') : null}
hasLanguage {
condition = ${props.language}
renderer = ${props.language}
}
hasDimension {
condition = ${props.languageDimension && Configuration.setting('Neos.ContentRepository.contentDimensions.' + props.languageDimension) != null}
renderer = ${documentNode.context.dimensions[props.languageDimension][0]}
}
hasDefaultLocale {
defaultLocale = ${Configuration.setting('Neos.Flow.i18n.defaultLocale')}
condition = ${this.defaultLocale}
renderer = ${this.defaultLocale}
}
}
@process.convert = Neos.Neos:ConvertUris {
absolute = true
forceConversion = true
externalLinkTarget = ''
resourceLinkTarget = ''
}
}
@cache {
mode = 'uncached'
context {
1 = 'site'
2 = 'node'
3 = 'documentNode'
}
}
}