Abonnementseiten-Einstellungsseiten | Mehrere Subdomains

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