Ich habe ein extrem einfaches Modul geschrieben, bei dem man in der Konfigurationsseite eines Artikels bereits einige kurze Texte eingeben kann. Das mache ich aus dem Grund, weil ich für meinen Betrieb Schulungsangebote ins Netz stellen will, und da gibt es viele kurze Angaben wie Kosten, Ort, Kontakt-eMail, Kooperationspartner, etc. Mehrere CMS_TEXT[]-Elemente im Output des Moduls würden jeden Redakteur zur Weißglut treiben, wenn für jede einzelne kurze Angabe extra auf einen Button geklickt werde muss und gewartet werden muss, bis sich die Seite neu lädt.
Dabei bin ich auf das Problem gestoßen, dass, sobald man Anführungszeichen in ein Textfeld auf der Konfigurationsseite schreibt, man nur noch einen PHP-Error erhält, sobald man auf die Editor- oder Vorschau-Seite wechseln möchte.
Da ich dieses Problem auch mit jedem beliebigen anderen Modul habe, gehe ich von einem Bug in Contenido aus, trotzdem hier mein Input-Code des Moduls.
Code: Alles auswählen
$var0 = nl2br(htmlentities("CMS_VALUE[0]"), ENT_QUOTES);
$var1 = nl2br(htmlentities("CMS_VALUE[1]"), ENT_QUOTES);
$var2 = nl2br(htmlentities("CMS_VALUE[2]"), ENT_QUOTES);
$var3 = nl2br(htmlentities("CMS_VALUE[3]"), ENT_QUOTES);
$var4 = nl2br(htmlentities("CMS_VALUE[4]"), ENT_QUOTES);
$var5 = nl2br(htmlentities("CMS_VALUE[5]"), ENT_QUOTES);
$var6 = nl2br(htmlentities("CMS_VALUE[6]"), ENT_QUOTES);
$var7 = nl2br(htmlentities("CMS_VALUE[7]"), ENT_QUOTES);
$var8 = nl2br(htmlentities("CMS_VALUE[8]"), ENT_QUOTES);
$var9 = nl2br(htmlentities("CMS_VALUE[9]"), ENT_QUOTES);
$var10 = nl2br(htmlentities("CMS_VALUE[10]"), ENT_QUOTES);
$var11 = nl2br(htmlentities("CMS_VALUE[11]"), ENT_QUOTES);
?>
<table>
<tr>
<td><?php echo mi18n("Überschrift");?></td>
<td><input size="39" type="text" name="<?php echo "CMS_VAR[0]"; ?>" value="<?php echo $var0; ?>"></td>
</tr>
<tr>
<td><?php echo mi18n("Untertitel");?></td>
<td><input size="39" type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo $var1; ?>"></td>
</tr>
<tr>
<td><?php echo mi18n("VA.-Nr.");?></td>
<td><input size="39" type="text" name="<?php echo "CMS_VAR[2]"; ?>" value="<?php echo $var2; ?>"></td>
</tr>
<tr>
<td><?php echo mi18n("Kooperation");?></td>
<td><input size="39" type="text" name="<?php echo "CMS_VAR[3]"; ?>" value="<?php echo $var3; ?>"></td>
</tr>
<tr>
<td><?php echo mi18n("Ort");?></td>
<td><textarea rows="4" cols="30" name="<?php echo "CMS_VAR[4]"; ?>"><?php echo $var4; ?></textarea></td>
</tr>
<tr>
<td><?php echo mi18n("Kosten");?></td>
<td><textarea rows="4" cols="30" name="<?php echo "CMS_VAR[5]"; ?>"><?php echo $var5; ?></textarea></td>
</tr>
<tr>
<td><?php echo mi18n("Termin/Dauer");?></td>
<td><textarea rows="4" cols="30" name="<?php echo "CMS_VAR[6]"; ?>"><?php echo $var6; ?></textarea></td>
</tr>
<tr>
<tr>
<td><?php echo mi18n("Teilnehmer");?></td>
<td><textarea rows="4" cols="30" name="<?php echo "CMS_VAR[7]"; ?>"><?php echo $var7; ?></textarea></td>
</tr>
<tr>
<td><?php echo mi18n("Teilnahmevoraussetzungen");?></td>
<td><textarea rows="4" cols="30" name="<?php echo "CMS_VAR[8]"; ?>"><?php echo $var8; ?></textarea></td>
</tr>
<tr>
<td><?php echo mi18n("Abschluss");?></td>
<td><textarea rows="4" cols="30" name="<?php echo "CMS_VAR[9]"; ?>"><?php echo $var9; ?></textarea></td>
</tr>
<tr>
<td><?php echo mi18n("Kontakt");?></td>
<td><textarea rows="4" cols="30" name="<?php echo "CMS_VAR[10]"; ?>"><?php echo $var10; ?></textarea></td>
</tr>
<tr>
<td><?php echo mi18n("E-Mail");?></td>
<td><input size="39" type="text" name="<?php echo "CMS_VAR[11]"; ?>" value="<?php echo $var11; ?>"></td>
</tr>
</table>
<?php
Der Output des Moduls ist nicht wichtig, da der "Fehler" garantiert im Input liegt. Man kann den Output sogar komplett leer lassen, trotzdem kommt diese Fehlermeldung sobald man die Seite vorschauen möchte.Parse error: parse error, unexpected '\"' in /is/htdocs/wp1028779_EPVQUSB3XP/www/contenido/includes/include.con_editcontent.php(644) : eval()'d code on line 294
Wie gesagt gehe ich von einem Fehler in Contenido aus.
Kann mir das jemand bestätigen?
Mach ich einen Fehler?
Gibt es einen Workaround?
edit:
Vergessen zu erwähnen: Ich beziehe mich hier auf die momentan aktuelle Version 4.6.4