Warum funktioniert der Kontaktformular-Link nur im Footer?

Wenn man das HTML vom Kontaktformular-Link kopiert und woanders einbaut, funktioniert der Link nicht.

Der Link funktioniert überall. Nur erscheint der Link eben nicht im Modal, sondern als eigenständige Webseite.

Das liegt daran, dass per JavaScript der Link innerhalb des Modals geladen/Dargestellt wird.

Der Link geht nicht. Das Kontaktformular gibt es nicht als eigene Seite.

Wie kann man das Modal öffnen lassen, wenn der Link nicht im Footer ist?

hatten das auch mal Modal, Funktioniert aber schlecht bei mehreren Verkaufskanälen, wenn die Daten unterschiedlich sind.
Müsste so ähnlich gewesen sein:
cms/detail/f625c1f9da144f6897ab168598146815
Im Grunde brauchst du nur die ID vom Layout

Es ist der gleiche Link wie im Footer. Er geht aber nicht.

Das Schema ist /widgets/cms/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Der Link funktioniert überall, du musst ihn nur inkl. data-ajax-modal und data-url kopieren und dann im Sanitizer data-ajax-modal und data-url erlauben.

1 Like

Der Link funktioniert überall. Dann hast du ihn einfach „falsch“ kopiert.

Hier kannst du nachlesen, wie man Links in Modal öffnet: Using a Modal Window | Shopware Documentation

Der Link sieht so aus:

<a title="Kontaktformular" href="/widgets/cms/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" data-url="/widgets/cms/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" data-bs-toggle="modal" data-toggle="modal">Kontaktformular</a>

Der Sanitizer ist in dem Fall kein Problem, weil es den bei Shopware 6.4.20.2 noch nicht gibt.

Was ist an dem Link falsch? Es ist der gleiche wie im Footer.

1 Like

Der Link im Footer funktioniert aber?

Ja, da geht ein Modal auf.

Beim anderen Link passiert gar nichts.

Gibt es eine Fehlermeldung in der Browser-Konsole?

In der Browser-Konsole kommt kein Fehler.

Ähm, egal ob Kontaktformular oder eine andere Shopseite, Links sollten so überhaupt nicht aussehen. Wurde zum Kontaktformular überhaupt eine Shopseite + Unterkategorie + SEO angelegt?

Wie ich bereits oben geschrieben habe, gibt es das Kontaktfomular nicht als eigene Seite:

Was würdest du tun?

Ja dann lege doch eine mal an :slight_smile:

Ist tatsächlich so, das in der Grundinstallation dieser Link so im Footer auftaucht, auch wenn keine Seite für das Kontaktformular angelegt wurde. Daher der ungewöhnliche Link. Das ganze wird über ein JS-Plugin initialisiert. Das greift aber nur, wenn der Link in einem der Templates integriert ist, nicht, wenn er in einer Artikelbeschreibung oder einem CMS-Element im Text eingefügt wird, da diese Inhalte dem Plugin nicht zur Verfügung stehen.

Wie schafft man es, dass der Link auch woanders funktioniert?

Würde mich auch interessieren

Muss mich korrigieren, geht schon, man muss aber den Sanitizer deaktivieren (oder die notwendigen Ausnahmen definieren), denn der killt wichtige Tags aus dem Link. Wenn deaktiviert, dann funktioniert es z.B. in der Artikelbeschreibung einwandfrei.