[TASK] Fix rending buttons in email templates

This commit is contained in:
Philipp Dieter 2022-06-13 14:49:02 +02:00
parent 007c3368f7
commit 0e9b031feb
2 changed files with 20 additions and 9 deletions

View File

@ -251,14 +251,10 @@ class MailUtility
case 'buttonleft': case 'buttonleft':
case 'buttoncenter': case 'buttoncenter':
case 'buttonright': case 'buttonright':
return '<a style="display: inline-block;" href="' return json_encode([
. $matchesInner[1] $matchesInner[1],
. '">' $matchesInner[2]
. '<span style="display: inline-block; padding: 10px 15px; border-radius: 3px; background-color: red;">' ]);
. 'Button!!!! '
. $matchesInner[2]
. '</span>'
. '</a>';
break; break;
default: default:
return '<a href="' return '<a href="'

View File

@ -8,6 +8,16 @@
<f:variable name="padding" value="20" /> <f:variable name="padding" value="20" />
</f:else> </f:else>
</f:if> </f:if>
<f:if condition="{buttonColor}">
<f:else>
<f:variable name="buttonColor" value="#ffffff" />
</f:else>
</f:if>
<f:if condition="{buttonBackgroundcolor}">
<f:else>
<f:variable name="buttonBackgroundcolor" value="#8ABF6F" />
</f:else>
</f:if>
<f:variable name="widthPadded" value="{width - padding - padding}" /> <f:variable name="widthPadded" value="{width - padding - padding}" />
<f:variable name="widthTableColumn" value="{widthPadded / 2}" /> <f:variable name="widthTableColumn" value="{widthPadded / 2}" />
@ -78,7 +88,12 @@
</f:case> </f:case>
<f:case value="buttoncenter"> <f:case value="buttoncenter">
<span style="display: inline-block;" class="buttonwrapper"> <span style="display: inline-block;" class="buttonwrapper">
{row.data -> f:format.nl2br() -> f:format.raw()} <f:variable name="rowData">{row.data -> v:format.json.decode()}</f:variable>
<a style="display: inline-block; color: {buttonColor}" href="{rowData.0}">
<span style="display: inline-block; padding: 10px 15px; border-radius: 3px; background-color: {buttonBackgroundcolor};">
{rowData.1}
</span>
</a>
</span> </span>
</f:case> </f:case>
<f:case value="buttonright"> <f:case value="buttonright">