Hallo
Ich stehe gerade vor einem selten dämlichen Problem. Mittels user::gender soll das Geschlecht eines angemeldeten Mitglieds in einem versteckten Formularfeld als Standardwert angezeigt werden. Das ist auch kein Problem, nur wird statt 'male' leider 'Männlich' oder 'female' statt 'Weiblich' als Wert angezeigt. Das ist soweit nicht neu und ich habe jetzt keinen Lösungsansatz gefunden, das anzupassen.
Um das zu ändern habe im Template 'form_hidden' mal folgendes gemacht:
Das interessante dabei ist: $this->value ist ja ursprünglich "Männlich" und die Globalvariable ist ebenfalls "Männlich". Beides wird wirklich identisch angezeigt (mit echo geprüft). Dennoch sieht PHP das nicht als identisch an und führt nicht den if-Teil sondern den else-Teil aus. Habe schon alles möglich ausprobiert. Ich komme nicht dahinter, an was es liegt. Vielleicht weiss jemand von euch Bescheid, was es mit dem Verhalten zu tun hat und was der Überlegungsfehler ist.PHP-Code:
<?php
if($this->name == "gender"):
if($this->value == $GLOBALS['TL_LANG']['MSC']['male']):
$this->value = "male";
else:
$this->value = "female";
endif;
endif;
?>
<input type="hidden" name="<?= $this->name ?>" value="<?= StringUtil::specialchars($this->value) ?>">
Lesezeichen