WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 20.07.2024 18:23:30

wasi
Member

mpform private.php

Hallo,
ich komme mit dieser private.php nicht klar.

Ich denke das Vorhaben ist für den Bereich
private_function_before_new_form($section_id)


Habe ein ein mehrseitiges Formular.

1. Formular Section ID 220
Name: FIELD37

Der Wert FIELD37 soll im 2 Formular (Section ID 224) eingebettet werden.
(z.B. als Formularfeld Überschrift)

Beide Formulare sind als Fieldset (Start/Ende) angelegt.

Diese Beispiele bringen mich nicht drauf und könnte einen schubser gebrauchen.

/*
    // example how to use: put a predefined value into one of the fields
    if ($section_id == 4526) {
        $_SESSION['mpf']['field136'] = $_SESSION['EMAIL'];
        return true;
    }

    // another example how to use: again, pre-fill a field
    if ($section_id == 4575) {
        $_SESSION['mpf']['field4568'] = '';
        if (isset($_SERVER['HTTP_REFERER'])) {
            $_SESSION['mpf']['field4568'] = $_SERVER['HTTP_REFERER'];
        }
        return true;
    }
*/

VG wasi

Offline

#2 25.07.2024 21:34:50

mrbaseman
Developer

Re: mpform private.php

Überschriften innerhalb von mpform dynamisch, anders als im Backend hinterlegt, vorzubelegen, ist derzeit nicht vorgesehen.

Was du machen kannst, wäre innerhalb einer Code2 Section auf der 2. Seite, oberhalb der mpform Section, auf die Session Variablen zuzugreifen, um eine Überschrift oberhalb des Formulars auszugeben.

Ich vermute, dass auch nichts dagegen sprechen würde, andere Feldtypen vorzubelegen. Bisher ist das halt nur für Eingabefelder vorgesehen und es bräuchte eine Codeänderung, um das zu verallgemeinern.

Offline

#3 26.07.2024 06:27:17

florian
Administrator

Re: mpform private.php

1. Frage:

Was du machen kannst, wäre innerhalb einer Code2 Section auf der 2. Seite, oberhalb der mpform Section, auf die Session Variablen zuzugreifen, um eine Überschrift oberhalb des Formulars auszugeben.

Wenn ich mich hier einklinken darf: Ich hatte auch bereits an der Frage herumgeknobelt und versucht, wie in der private.php beschrieben, an $_SESSION['mpf'] heranzukommen. Dieser Wert scheint aber gar nicht gesetzt zu werden?
Es gibt so weit ich sehe nur $_SESSION[html_data_user$submission_id], also z.B. $_session[html_data_userrzgsh3cp], da steht aber nicht der reine Rückgabewert drin, sondern der HTML-Code inkl. Formularfeldbeschreibung, also z.b.

<div class="mpform_field_2" mpform_field_textfield=""><b>test1:</b> Max Mustermann</div>

Wie/Wo genau kommt man also an die zwischengespeicherten Formularwerte?

2. Frage:

Überschriften innerhalb von mpform dynamisch, anders als im Backend hinterlegt, vorzubelegen, ist derzeit nicht vorgesehen.

Aber es gibt doch den Formularfeldtyp Überschrift, ließe sich der nicht doch dynamisch befüllen, so man denn an die Werte herankäme?

Last edited by florian (26.07.2024 06:32:36)


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#4 29.07.2024 23:22:30

mrbaseman
Developer

Re: mpform private.php

Hallo Florian,

florian wrote:

1. Frage:
[...]
Wie/Wo genau kommt man also an die zwischengespeicherten Formularwerte?

ehrlich gesagt hatte ich mich mit den privaten Funktionen seither nicht so sehr auseinandergesetzt. Das war halt in dem Modul schon drin, als ich begonnen hatte, es weiter zu pflegen. Gesetzt werden sollten die Formularwerte eigentlich hier in der evalform.php aber vermutlich schießt da das Aufräumen am Ende der Datei quer. Dieses müsste man wohl für multipage-Formulare auf die letzte Formularseite verschieben

2. Frage:

Überschriften innerhalb von mpform dynamisch, anders als im Backend hinterlegt, vorzubelegen, ist derzeit nicht vorgesehen.

Aber es gibt doch den Formularfeldtyp Überschrift, ließe sich der nicht doch dynamisch befüllen, so man denn an die Werte herankäme?

ja, wenn man für den Feldtyp "Überschrift" - oder vielleicht allgemein für alle Feldtypen, die nicht vorher schon behandelt wurden, in der paintform.php eine solche Vorbelegung vorsieht. Bisher ist das nur für EIngabefelder vorgesehen, in die der Besucher tatsächlich Daten eintragen kann, aber nicht für sozusagen "statische" html-Elemente im Formular vorgesehen.

Also zumindest bzgl. Frage 1 sollte ich mir das mpform wohl mal wieder zur Brust nehmen, und wenn ich dann schon dran bin, auch den Aspekt der 2. Frage mit bearbeiten. Ein paar andere Kleinigkeiten hätte ich sowieso noch, die seither liegen geblieben sind.

PS: die private.php erweckt leicht den Eindruck, dass man damit super flexibel alles Mögliche realisieren könnte - aber letztendlich ist man in den privaten Funktionen größtenteils auf die übergebenen Parameter angewiesen, so dass sich das ziemlich genau auf die in den Beispielen genannte Use-Cases reduziert - und wenn die Vorbelegung von $_SESSION['mpf'] nicht wie vorgesehen funktioniert, ist noch nicht mal das realisierbar :-(

Offline

Board footer

up