Hi @HMummert,
hach ja, das gute alte SMF… Interessanterweise habe ich es mir erst kürzlich wieder angeschaut, da ich gerade am überlegen bin, welches Board ich aufsetzen möchte.
Die Frage ist, warum möchtest du es mittels iFrame in HubSpot integrieren?
Wenn es dir nur um “Look&Feel” geht würde ich empfehlen den extra Schritt zu gehen und das/dein SMF Theme mittels CSS an deine Seite anzupassen. Anschließend erstellst du einen externen/URL Link in der HubSpot Navigation und fügst die Domain des SMF ein.
Wenn du das Board auf einer Seite anzeigen lassen möchtest wirds etwas knifflig. iFrames sind zwar eine Möglichkeit, allerdings nicht optimal, da sie meist nicht responsive sind. Du könntest es mit einem neuen Template oder custom Modul versuchen.
Wenn du es mit einem Template testen möchtest:
- Öffne den Design Manager
- Suche dein Theme und öffne den Theme-Ordner
- Öffne im Theme-Ordner den Template-Ordner
- Dupliziere/klone ein bereits vorhandenes Template (du kannst auch ein neues erstellen, wird aber höchstwahrscheinlich etwas mehr Arbeit bedeuten)
- Lösche im Template alles bis auf folgende Inhalte
<!--
templateType: page
isAvailableForNewContent: true
label: About
-->
{% extends "./layouts/base.html" %}
{% block body %}
...
{% endblock body %}
- wenn das template noch andere {% block %} Elemente besitzt, lass sie erst einmal drin
- Vergib beim label einen eindeutigen Namen wie bspw. “Forum”, damit du das Template später findest/identifizieren kannst
- Baue das Board mittels iFrame oder loadScript zwischen {% block body %} und {% endblock body %}ein
iFrame:
<script type="text/javascript">
function resizeIframe(iframe) {
iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";
window.requestAnimationFrame(() => resizeIframe(iframe));
}
</script>
<iframe onload="resizeIframe(this)" src="http://yourdomain.com" width="100%"></iframe>
loadScript:
<div id="forum"></div>
<script>
$(document).ready( function() {
$("#forum").load("https://yourdomain.com");
});
</script>
Für eine bessere Page performance würde ich das jeweilige Script mit
{% require_js %}
<script>
...
</script>
{% require_js %}
schreiben. Aber zum testen kannst du es weg lassen.
Bei einem Modul sind es exakt die selben iFrame/loadScript Codes. Du kannst aber auch zusätzlich ein Text Element(ich nenne es “Domain”) einbauen, um in Zukunft die URL/Domain einfach austauschen zu können.
iFrame:
<script type="text/javascript">
function resizeIframe(iframe) {
iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";
window.requestAnimationFrame(() => resizeIframe(iframe));
}
</script>
<iframe onload="resizeIframe(this)" src="{{ module.domain }}" width="100%"></iframe>
loadScript:
<div id="forum"></div>
<script>
$(document).ready( function() {
$("#forum").load("{{ module.domain }}");
});
</script>
Wie Mia gesagt hat - leider gibt es (aktuell) keine native Forum/Board Funktion in HubSpot. Ich habe neulich eine Cohortium Demo gesehen, da es ein Kunde von uns nutzen wird. Es ist unglaublich mächtig. Einfacher bekommst du kein Forum/Board in HubSpot integriert. Allerdings hat es auch seinen Preis.
Andere Boards die du dir anschauen kannst:
Woltlab Suite (ehemals Woltlab Burning Board) hatte ich vor über 10 Jahren im Einsatz bis ich es durch Invision Community (ehemals Invision Power Board) ersetzt hatte. Auch gibt es noch das gute alte vBulletin, phpBB und viele andere. Etwas was du dir anschauen kannst ist Hivebrite.
Eine “kleine” technische Baustelle wirds, wenn du beispielsweise Userdaten von SMF (oder nahezu jedem anderen Board) zu HubSpot syncen möchtest. Zapier bietet kaum bis keine Connectoren zwischen den Boards und HubSpot an. Mag daran liegen, dass die Boards, trotz der aktuellsten Versionen sehr stark in die Jahre gekommen sind.
Demnach müsstest du - falls das Thema relevant ist - einen Umweg über bspw. WordPress machen. Das bedeutet: SMF/Woltlab/vBuleltin… User → bspw. WordPress User → HubSpot CRM.
Gruß
Anton