Kein PHP in wysiwyg Textarea

Fragen zum Erstellen von Templates für webEdition.
Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Kein PHP in wysiwyg Textarea

Beitragvon Luigii » Mi 9. Jan 2013, 16:39

Jetzt wollte ich das erste Mal die Einstellung php in Textarea ausprobieren und es klappt nicht. Ich benutze die neueste Version von WE in einem Firefox auf OSX. Das php-Attribut ist sowohl in den Einstellungen als auch in der wysiwyg-Box auf true gesetzt.
Ein einfaches

Code: Alles auswählen

<?php print "Zeig mir diesen Text"; ?>
wird nicht ausgegeben. Es wird einfach in Kommentare gesetzt und nicht weiter ausgewertet.

Code: Alles auswählen

<!--?php print "Zeig mir diesen Text"; ?-->
Die Kommentarzeichen setzt die Box, sowie von der Quelltextansicht wieder zurückschalte. Egal ob ich nun den neuen TinyMCE benutze oder nicht.
Übersehe ich da irgendetwas?
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Kein PHP in wysiwyg Textarea

Beitragvon Liquid » Fr 11. Jan 2013, 14:09

Hi Luigii,

verwendest du den"alten" Editor oder den neuen Tiny?

Im "alten" ist das ein bekannter Bug, der aber nicht mehr behoben wurde, weil der Editor ja eh rausfällt.
Ich habe in der Bugbase zwar auch mal was gelesen dass PHP im Tiny nicht funktionierte, glaube aber dass dies behoben wurde.

Gruß Liquid
Gruß Liquid

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: Kein PHP in wysiwyg Textarea

Beitragvon Luigii » Fr 11. Jan 2013, 14:12

Das Problem existiert leider in beiden.
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: Kein PHP in wysiwyg Textarea

Beitragvon Luigii » Fr 11. Jan 2013, 14:18

Hab mir den Fehler in der Bugbase angeschaut und frage mich, ob ich nicht vollig falsch Erwartungen habe.
Ich dachte es sei möglich, das in eine Textarea PHP-Code eingegeben werden kann, der dann im "Nicht Editmode" auch ausgeführt wird. Liege ich da falsch, geht es nur um textliche Ausgabe des Codes?
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Kein PHP in wysiwyg Textarea

Beitragvon mokraemer » Fr 11. Jan 2013, 23:25

da liegst du zum Glück falsch.
Das wäre schon ein wenig gefährlich.

Es ist etwas unglücklich dort formuliert. Das php-Flag wirkt sich zum einen erst mal nur auf wysiwyg="false" aus. Der Editor soll, wenn du da <?php eingibst das ganze in <?php wandeln, damit du z.b. in einem Blog über php schreiben kannst.

Damit aber böse Leute nicht Kode in Blogs wie diesen hier eingeben der dann in WE beim bearbeiten ausgeführt wird, filtert WE diese Tags und macht sie mit <!-- unbrauchbar.

Jetzt kann es spezielle Template innerhalb von WE geben, in denen der Admin dann doch einen php Schnipsel in einer Seite einfügen will, aber nicht sofort ein neues Template anlegen will. Dafür kann man dann eine textarea anlegen und dort die Ausführung gestatten. Bei den Seiten sollte man wirklich vorsichtig sein, denn die Freigabe ist genauso wie wenn jemand Templates editieren kann. Wenn das unbedacht bei Frontend Textareas gemacht wird, wäre das fatal!
webEdition-Kern-Entwickler

Heinel
Junior Member
Beiträge: 4
Registriert: Fr 25. Jan 2013, 22:34

Re: Kein PHP in wysiwyg Textarea

Beitragvon Heinel » Di 21. Mai 2013, 00:26

Da würde mich interessieren, ob es eine Möglichkeit gibt,eine php variable im Textarea einzupflegen?

Ich habe einen Text in der Form: Bitte überweisen Sie Summe xyz bis zum ....

xyz= meine PHP Variable

Gibt es da eine Möglichkeit?

Danke

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Kein PHP in wysiwyg Textarea

Beitragvon mokraemer » Di 21. Mai 2013, 00:45

nicht mit Boardmitteln.
Wie gesagt, die Auswertung von Kode ist gefährlich und wenn in einer Textarea php-Kode einfach ausgewertet würde, könnte man damit schnell Unfug anstellen. Du kannst aber sowas natürlich leicht selbst mit 1-2 Zeilen php realisieren - ich würde dann aber ebenfalls auf die php-Auswertung verzichten und lieber ein tr/str_replace nutzen.
webEdition-Kern-Entwickler

Heinel
Junior Member
Beiträge: 4
Registriert: Fr 25. Jan 2013, 22:34

Re: Kein PHP in wysiwyg Textarea

Beitragvon Heinel » Di 21. Mai 2013, 09:00

Und da liegt das Problem ich habe einige Sachen (<?php echo $GLOBALS[wert];?> etc) ausprobiert die leider nicht funktionieren.
Wie wäre es denn mit PHP möglich?
oder sollte ich das textarea aufteilen?
MfG

ThomasGoebe

Re: Kein PHP in wysiwyg Textarea

Beitragvon ThomasGoebe » Di 21. Mai 2013, 10:51

Hallo Heinel,

hier ein Ansatz:

Code: Alles auswählen

<we:ifEditmode>
  <we:textarea name="inhalt" />
<we:else />
  <we:comment>Die Ausgabe der Textarea in die globale Variable sInhalt schreiben</we:comment>
  <we:textarea name="inhalt" to="global" nameto="sInhalt" />
  <?php
    $aErsetzungen = array('[Platzhalter]' => 10);
    echo str_replace(array_keys($aErsetzungen), $aErsetzungen, $GLOBALS['sInhalt']);
  ?>
</we:ifEditmode>
In der Textarea kann nun mit [Platzhalter] gearbeitet werden. Über diese Methode können viele Dinge erledigt werden. Ich stelle Redaktueren für geschützte Bereiche so z.B. die Möglichkeit bereit, individuelle Begrüßungstexte etc. zu erstellen. Es werden dann einfach alle Felder aus der Kundenverwaltung als Platzhalter definiert. Klappt gut.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Kein PHP in wysiwyg Textarea

Beitragvon mokraemer » Di 21. Mai 2013, 22:00

@Thomas: kleine Vereinfachung:

Code: Alles auswählen

<we:ifEditmode>
  <we:textarea name="inhalt" />
<we:else />
  <we:comment>Die Ausgabe der Textarea in die globale Variable sInhalt schreiben</we:comment>
  <we:textarea name="inhalt" to="global" nameto="sInhalt" />
  <?php
    $aErsetzungen = array('[Platzhalter]' => 10);
    echo strtr($aErsetzungen, $GLOBALS['sInhalt']);
  ?>
</we:ifEditmode>
webEdition-Kern-Entwickler


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

Wer ist online?

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