WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 12.01.2018 11:56:07

egnal
Mitglied

One For All mit DialogBox

Hallo WBCE-Team,
ich habe bei OneForAll ein Eingabefeld "externer Link" der auf PDFs verweist. Bevor ich das PDF öffnen kann, soll allerdings eine DialogBox auf einen Widerruf verweisen. Erst nach dem Schließen der DialogBox, soll das PDF geladen werden. Danke für Eure Antworten und schöne Grüße

Offline

#2 12.01.2018 12:03:11

florian
Administrator

Re: One For All mit DialogBox

So auf Anhieb würde ich sagen, dass das nicht so ganz trivial zu realisieren ist. Aus OfA müsste der Link auf eine zwischengeschaltete SEite gehen, der das zu öffnende PDF als Parameter übergeben wird.
Diese Zwischen-Seite sorgt dann per PHP oder JavaScript (JS ist schlechter, weil leicht auszuhebeln) dafür, dass das PDF entweder bei Bestätigung angezeigt wird, oder bei Ablehnung der Rücksprung auf die Ursprungsseite erfolgt.
Kannst Du Deine Anforderung etwas genauer darstellen?
- Geht es um nur eine Hand voll PDFs oder sehr viele?
- Liegen die PDFs auf Deinem Server bzw. im Mediaverzeichnis von WBCE oder extern (z.B. Dropbox o.ä.)?
- Soll die Einwilligung sozusagen global erteilt oder für jedes PDF extra eingeholt werden?
- Muss die Einwilligung später nachweisbar sein (Stichwort DSGVO)?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 12.01.2018 12:17:16

egnal
Mitglied

Re: One For All mit DialogBox

Hallo Florian,
wenn möglich ohne JavaScript.
Es geht um ca. 20 PDFs die im Media-Verzeichnis liegen. Die Einwilligung kann global erfolgen.

Offline

#4 12.01.2018 12:24:11

florian
Administrator

Re: One For All mit DialogBox

Eine fertige Lösung habe ich dafür nicht parat, und programmieren kann ich das selbst nicht, allerdings habe ich evtl. ein Projekt, für das ich auch so etwas gebrauchen könnte. Vielleicht hat ja jemand anderes so etwas ähnliches schonmal entwickelt und/oder wäre bereit, dies ggf. gegen Bezahlung bereitzustellen?
Wegen der globalen Einwilligung müsste allerdings ein Cookie gesetzt werden, da braucht man dann wohl erst noch eine Einwilligung zur Einwilligung...


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#5 15.01.2018 19:00:23

egnal
Mitglied

Re: One For All mit DialogBox

So, ich habe jetzt eine "Exposé-Seite" mit Widerruftext und dem MiniForm-Module angelegt. Die Seite ist verdeckt und nur über die Detailansicht (WB-Link) vom Module OneForAll erreichbar. Jetzt würde ich gerne, bei der "Erfolgreichseite" des MiniForm-Modules, einen LINK zur PDF-Datei erstellen.
Mein Problem: Dieser PDF-Link ist bereits im Module OneForAll [field_10] (als externer Link) angelegt und soll von dort ausgelesen werden.
Jetzt fehlt mir das Wissen, wie oder was ich includieren oder auch immer machen muss. Jeder Tipp hilft.

Offline

#6 15.01.2018 22:42:32

florian
Administrator

Re: One For All mit DialogBox

Grundsätzlich müsste die zu öffnende Datei in einem versteckten Formularfeld übergeben werden.
ich glaube nicht, dass sich das mit Miniform realisieren lässt, da Miniform nicht für so etwas konzipiert ist und es meines Wissens keine Möglichkeit gibt, auf der Bestätigungsseite auf Daten von Miniform zuzugreifen.
Kannst Du das nicht andersrum aufziehen, dass man erst bestätigen muss, und dann auf die OfA-Seite kommt? Dann wären diese "Verrenkungen" nicht nötig.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#7 18.01.2018 10:01:41

egnal
Mitglied

Re: One For All mit DialogBox

Hallo Florian,
ich habe Deinen Rat befolgt und es umgekehrt aufgezogen.

Module: OneForAll - Eingabefelder - field_9 (WB-Link)

<form action="[wblink19]" method="post">
Name: <input class="inputtype" type="text" name="vorname"  size="30" maxlength="40" required /><br />
PLZ Ort: <input class="inputtype" type="text" name="nachname" size="30" maxlength="50" required /><br />
E-Mail: <input class="inputtype" type="text" name="email" size="30" maxlength="50" required /><br />
<input type="hidden" name="expose" />
<input type="Submit" value="Absenden" />
</form>



Ausgabe-Seite "Exposé"

$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
////$expose = $_POST["field_10"];
echo "<b>Hallo $vorname</b> in $nachname, <b>hier ist Ihr Link zum Exposé.</b><br />";
////echo "<h3>Exposé $expose</h3><br />";
echo "<br /> ";

Leider funktioniert das so nicht. Wie bekomme ich es hin, dass das field_10 (hierin liegt der Link zum PDF) ausgegeben wird?

Offline

#8 18.01.2018 10:17:34

florian
Administrator

Re: One For All mit DialogBox

Ich hatte mich da etwas missverständlich ausgedrückt, ich meinte, dass der Benutzer erst auf eine Seite gelangt, auf der mit miniform der Widerruf angezeigt wird (in Deinem Ausgangspost stand übrigens nichts von der Erfassung von Vorname, Nachname und Mailadresse des Nutzers?) und bei Bestätigung, also Absenden des Formulars, auf die OneForAll-Seite gelangt, von wo aus er dann direkt die Exposes herunterladen kann.

Das Codebeispiel oben Ist die OfA-SEite die Seite mit der ID 19 oder ist das eine andere Seite?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#9 18.01.2018 10:40:46

egnal
Mitglied

Re: One For All mit DialogBox

[wblink19] ist eine andere Seite, der Link geht zur Exposé/Widerruf-Seite.

Und von dort soll das OFA-field_10 (externer-Link) mit dem Link zur PDF-Datei erscheinen.

Ich habe miniform rausgeschmissen und dafür diesen Weg gewählt.

Offline

#10 18.01.2018 11:05:48

florian
Administrator

Re: One For All mit DialogBox

Du musst den Wert von dem Feld, in dem Du die PDF-Datei hinterlegst, übergeben, also entweder im Feld-Template (falls da das Formular ist)
<input type="hidden" name="expose" value="[CUSTOM_CONTENT]">
oder im Seiten-Template
<input type="hidden" name="expose" value="[field_10]">
Dann darf aber das Feld-Template für field_10 nur >>> [CUSTOM_CONTENT] <<< enthalten (ohne >>> <<< natürlich).
In beiden Fällen sollte anschließend ein verstecktes Formularfeld namens expose mit dem vollständigen Pfad der Datei vorhanden sein, das dann weiter verarbeitet werden kann.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#11 08.02.2018 16:33:40

egnal
Mitglied

Re: One For All mit DialogBox

So funktionierts:

Seiten Einstellungen, Detailansicht (Fußzeile):

<div>
<h2>Exposé für Sie...</h2><br />
<form action="[wblink19]" method="post" />
Name: <input class="inputtype" type="text" name="vorname"  size="30" maxlength="40" required /><br />
PLZ Ort: <input class="inputtype" type="text" name="nachname" size="30" maxlength="50" required /><br />
E-Mail: <input class="inputtype" type="text" name="email" size="30" maxlength="50" required /><br />
<input type="hidden" name="expose" value="[FIELD_10]" />
<input type="Submit" value="Absenden" />
</form>
</div>

Ausgabe-Seite "Exposé"

$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$expose = $_POST["expose"];
echo "<b>Hallo $vorname</b> in $nachname, Sie haben die Widerrufsbelehrung gelesen und akzeptiert und hier ist Ihr Link zum Exposé:<br />"; 
echo "<a href=$expose target=\"_blank\"><b>EXPOSÉ<b></a>";
echo "<br /> ";

Offline

Fußzeile des Forums

up