we9 - input text vorbelegen

Fragen zum Erstellen von Templates für webEdition.
micha_sop
Member
Beiträge: 41
Registriert: Mi 4. Mai 2016, 13:53

we9 - input text vorbelegen

Beitragvon micha_sop » So 30. Mai 2021, 21:35

Hallo Forum,

ich habe we9 (9.0.8) installiert und wollte dort etwas testen. Aber es scheitert jetzt mittlerweile schon an den einfachsten Sachen.
Zumindest dachte ich, dass es einfache Sachen sind...
Ich habe ein Eingabefeld <we:input type="text" ... . Dieses wollte ich vor belegen mit einem dynamisch erzeugtem Wert.
Also habe ich folgendes geschrieben:
<we:input type="text" name="test" size="10" value="<?php echo $GLOBALS['preValue']; ?>"/>
Bis we8 funktionierte sowas. Jetzt liefert das folgenden Fehler:
syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
Ich habe ein wenig damit herumprobiert: Wenn ich die einfachen Anführungszeichen entferne, kann ich zwar abspeichern. In dem Eingabefeld steht dann allerdings " <?php echo ; ?> " . Das passiert sogar wenn ich versuche eine php-Variable einzusetzen (also <?php echo $variable; ?>. Und das ist, für mich gefühlt, auf mehreren Ebenen falsch...
Wenn ich versuche, das ganze über we:var zu lösen bekomme ich die Fehlermeldung " <we:input> Das schließende Tag fehlt. "
Und, ja, das Tag ist an der Stelle geschlossen, WE bekommt es nur leider nicht mit.

Gibt es unter we9 noch eine Möglichkeit, Eingabefelder (hier jetzt mal input type=text) vorzubelegen? Ist die Möglichkeit, php-code einzubinden, generell nicht mehr gewollt/gestattet? Welche anderen Wege gibt es, das Feld vorzubelegen?

Danke schonmal im voraus..
Michael

ThomasGoebe

Re: we9 - input text vorbelegen

Beitragvon ThomasGoebe » Mo 31. Mai 2021, 00:44

Hallo Michael,

ob generell etwas vorbelegt werden kann, weiss ich gar nicht (habe ich nie gebraucht).
Die Übergabe von Werten in we:tag attribute muss jedoch generell anders lauten:

Code: Alles auswählen

<we:input type="text" name="test" size="10" value="\$preValue" />
für globale Variablen und

Code: Alles auswählen

<we:input type="text" name="test" size="10" value="$preValue" />
für lokale Variablen.

Vielleicht hilft Dir das schon weiter.

micha_sop
Member
Beiträge: 41
Registriert: Mi 4. Mai 2016, 13:53

Re: we9 - input text vorbelegen

Beitragvon micha_sop » Mo 31. Mai 2021, 11:09

Hallo Thomas

danke für deine Antwort.
Gebraucht habe ich das bislang auch noch nicht so oft..
Aber grundsätzlich war es möglich, php-Code innerhalb eines we-tag-Elementes zu verwenden (z.B. für eine dynamische Benennung, oder um zusatz-Infos zu platzieren). Jetzt sieht es so aus, als ob alles ausser 'Plain-Text' nicht mehr erlaubt ist. Selbst eine we:var einzubinden funktioniert nicht (also <we:input type="text" name="test" value="<we:var name="globalTest"/>"/> ). So etwas hat früher ( =< we8) gut funktioniert.

Ich habe deinen Weg ausprobiert und meinen Wert einer globalen Variable zugewisen.

Code: Alles auswählen

<we:field type="text" name="fam_pf" nameto="pr_fam_pf" to="global"/>
Wenn ich dann über deinen Weg versuche, diesen Wert auszugeben,

Code: Alles auswählen

<we:input type="text" name="pr_pf" size="20" value="\$pr_fam_pf"/>
wird nichts ausgegeben. In der globalen Variable steht etwas drin, das habe ich überprüft. Es wird so aber nicht übernommen..
Auch ohne den '\' wird nichts ausgegeben (habe ich der Vollständigkeit halber auch mit geprüft..)

Php-Code funktioniert nicht, we:var funktioniert nicht... es ist gerade zum verzweifeln...

Falls du (oder das Forum) noch einen anderen Weg kennst, sag gerne Bescheid. Danke schonmal.

Grüße
Michael

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: we9 - input text vorbelegen

Beitragvon NilSole » Mo 31. Mai 2021, 15:37

Neues Template aufmachen
Code einfügen:

Code: Alles auswählen

<?php
$GLOBALS['test'] = 'abcd';
?>
<we:input name="x" value="\$test"/>
Bearbeiten Vorschau

Das sollte doch sein, was du wolltest...

micha_sop
Member
Beiträge: 41
Registriert: Mi 4. Mai 2016, 13:53

Re: we9 - input text vorbelegen

Beitragvon micha_sop » Mo 31. Mai 2021, 18:46

Hallo NilSole,

ja, so ungefähr.
Und diese Zeilen funktionieren auch.

Sobald ich aber einem $GLOBALS - Eintrag einen Wert über die we-Tags zuweise (nameto=var und to=global) wird der Wert nicht mehr übergeben. Der Wert ist da (wenn ich mir die Globals-Variablen ausgeben lasse, ist dort alles richtig verzeichnet), aber die Übergabe funktioniert hier leider nicht mehr...

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: we9 - input text vorbelegen

Beitragvon NilSole » Mo 31. Mai 2021, 19:19

Doch, das geht.
Mach vielleicht mal ein neues Dokument auf, wenn schon etwas in einem we:input gespeichert ist, dann wird value nicht mehr herangezogen.

micha_sop
Member
Beiträge: 41
Registriert: Mi 4. Mai 2016, 13:53

Re: we9 - input text vorbelegen

Beitragvon micha_sop » Di 1. Jun 2021, 16:19

Hallo,

nein, auch in einem neuen Dokument funktioniert es nicht.
Aber, ich denke, ich weiß jetzt warum...

Nochmal kurz auf Anfang:
Ich habe mein Dokument. Darin befindet sich als eines der ersten Elemente eine Select-Box.
Wenn darin etwas ausgewählt wird, sollen anhand der Auswahl die anderen Eingabe-Felder gefüllt werden.
Was ich hier mittels des reload=true Attributes des we:select gelöst habe. Wenn also eine Auswahl getroffen wurde, lade ich die Daten aus einem Dokument ein (über eine listview) und wollte dann halt mittels der <we:field namto=.. to=..> diese Werte der GLOBALS zuweisen und dann in den input value=.. reinschreiben.
Und das funktioniert nicht, vermutlich wg. dem was NolSole schreibt ('...wenn schon etwas in einem we:input gespeichert ist, dann wird value nicht mehr herangezogen...'). Zwar habe ich aktiv noch nichts reingeschrieben, aber das wird evtl. von we falsch interpretiert..
Ich kann die variable verwenden, allerdings nicht im value Attribut...

Wie auch immer, ich habe jetzt einen Weg über javascript gefunden, der funktioniert, damit bin ich zufrieden.
Sind ein paar Zeilen mehr zu schreiben, aber es läuft...

Danke für eure Denkanstösse...

Grüße
Michael

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: we9 - input text vorbelegen

Beitragvon NilSole » Mi 2. Jun 2021, 20:22

Das Verhalten von wE ist denke ich soweit richtig. Value ist in dem Fall für die Initialisierung da. Eventuell könnte man daran auch etwas ändern. Auf jeden Fall könntest du da per https://www.webedition.org/de/dokumenta ... enz/setvar die Variable wirklich setzen, was vermutlich das ist, was du hier willst.


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste