Hi @RomyFuchs1,
ich hatte diesen Fall schon öfters, dass ein Enterprise-Kunde mehrere Pref-center benötigt hat. Technisch kannst du zwar beliebig viele verschiedene Pref-center-Templates erstellen, jedoch nur eins davon aktiv haben.
Das wichtigste beim erstellen eines Pref-center templates ist der Template-Type der folgender sein muss:
templateType: email_subscription_preferences_page
Alles weitere ist dir/euch überlassen.
Ich mach es sehr oft wie im growth-theme:
<!--
templateType: email_subscription_preferences_page
isAvailableForNewContent: true
label: Growth - email subscription preferences
screenshotPath: ../../images/template-previews/subscription-preferences.png
-->
{% set template_css = "../../css/templates/system.css" %}
{% set template_js = "../../js/system.js" %}
{% extends "../layouts/base.html" %}
{% block body %}
<section class="content-wrapper">
<div class="systems-page">
{# Subscription preferences form #}
{% module "subscription_preferences"
path="@hubspot/email_subscriptions"
%}
</div>
</section>
{% endblock body %}
da es für die meisten Anwendungen ausreicht.
Zum Thema mehrere Pref-center - schwierig - und zumindest in Deutschland sehr wahrscheinlich dank DSGVO kaum umsetzbar, da du ja vermutlich verschiedene Subscription types pro Subdomain hast.
Da das Pref-center aus einem, unveränderbarem Modul besteht, kannst du nicht ohne weiteres die subscription types ein-/ausblenden.
Wenn es rein um das styling geht, kannst du beim “Pref-center Einstellungen” Link(E-Mail), wenn du das CAN-SPAM Modul (@hubspot/email_can_spam) duplizierst/klonst, einen Parameter mit anhängen und anschließend im Template eine Klasse ausgeben. Diese ist dann für das Styling verantwortlich.
--- Es wird jetzt teilweise sehr technisch, weswegen ich zu einer Zusammenarbeit mit einem Developer rate ---
So schaut ein statischer parameter aus:
{{ unsubscribe_link }}&class=subdomain-1 {# subdomain-1 ist ein beispiel #}
statt nur
{{ unsubscribe_link }}
Um diesen dann ans Template zu übergeben kannst du folgenden Code ins Template einfügen
{% if request.queryDict.class == "subdomain-1" %}
{% set pageClass = "subdomain-1" %}
{% endif %}
...
{% block body%}
<div class="{{ pageClass }}">
...
</div>
{% endblock body %}
der ganze Code schaut dann ungefähr so aus:
<!--
templateType: email_subscription_preferences_page
isAvailableForNewContent: true
label: custom Pref center
-->
{% set template_css = "../../css/templates/system.css" %}
{% set template_js = "../../js/system.js" %}
{% extends "../layouts/base.html" %}
{% if request.queryDict.class == "subdomain-1" %}
{% set pageClass = "subdomain-1" %}
{% endif %}
{% block body %}
<section class="content-wrapper {{ pageClass }}">
<div class="systems-page">
{# Subscription preferences form #}
{% module "subscription_preferences"
path="@hubspot/email_subscriptions"
%}
</div>
</section>
{% endblock body %}
Natürlich kann man dies noch viel weiter ausbauen. Bspw. aus dem Rich-Text ein eigenes Modul bauen und den Parameter mittels choise/Auswahl vorgeben um dem Kunden/Page-Creator/Marketer die Handhabung zu vereinfachen
Hoffe es hilft
Viele Grüße
Anton
