[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
X-Form Formatierungen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
washy
Beiträge: 21
Registriert: 12. Aug 2008, 16:56
Wohnort: Holzhausen an der Haide
Kontaktdaten: ICQ Yahoo Messenger

X-Form Formatierungen

5. Sep 2008, 15:17

Hallo zusammen,

ich brauche ein umfangreiches Formular und habe das X-Form Addon installiert!

Nun habe ich diverse Problemchen :-)

Z.B. brauche ich ein hübsches Formular :-)

Wie kann ich ...

...Bereiche optisch zusammenfassen?
Oder Bereiche voneinander trennen!?

...erklärenden Text (ohne Formularfeld) einfügen?

Dann brauche ich Radio-Buttons!
Die Syntax dafür konnte ich noch nicht (heraus)finden!
http://wiki.redaxo.de/index.php?n=R4.HowTos

Nichts ist so schlecht, das es nicht für irgend etwas gut wäre!

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

6. Sep 2008, 10:01

Hej,

du kannst es via

Code: Alles auswählen

html|<div class="bereich">
text|textfeld|Textfeld
html|</div>
Wegen Radio Buttons musst du mal im Addon unter Values nachsehen ob Radio Buttons schon vorhanden sind. Wenn nicht müsstest du dir etwas eigenes erstellen.

vg Thomas

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

7. Sep 2008, 14:46

hi,

radio buttons gibt es - komischerweise - in der tat nicht.. im prinzip entspricht das der select klasse, mit einer anderen ausgabe. deswegen hier, ungetestet, eine version die hoffentlich geht.

Datei "class.xform.radio.inc.php" in addons/xform/classes/values/ legen und folgenden code einsetzen.

Code: Alles auswählen

<?php
// Dateiname: class.xform.radio.inc.php
class rex_xform_radio extends rex_xform_abstract
{
	function enterObject(&$email_elements,&$sql_elements,&$warning,&$form_output,$send = 0)
	{
		if ($this->value == "" && !$send)
		{
			if (isset($this->elements[5])) $SEL->setSelected($this->elements[5]);
		}else
		{
			// $SEL->setSelected($this->value);
		}

		$out = "";
		foreach (explode(";", $this->elements[3]) as $v)
		{
			$teile = explode("=", $v);
			$bezeichnung = $teile[0];
			if (is_array($teile) && isset ($teile[1]))
			{
				$wert = $teile[1];
			}else
			{
				$wert = $teile[0];
			}
			
			$out .= '<span>'.$bezeichnung.'</span>';
			$out .= '<input type="radio" name="FORM[' . $this->params["form_name"] . '][el_' . $this->id . ']" value="'.$wert.'" ';
			if ($this->value == $wert) $out .= ' checked="checked"';
			$out .= ' />';
			
		}

		$wc = "";
		if (isset($warning["el_" . $this->getId()])) $wc = $warning["el_" . $this->getId()];


		$form_output[] = ' 
			<p class="formradio">
			<label class="radio ' . $wc . '" >' . $this->elements[2] . '</label>
			<div class="radio '.$wc.'">' .$out . '</div>
			</p>';
		$email_elements[$this->elements[1]] = stripslashes($this->value);
		if (!isset($this->elements[4]) || $this->elements[4] != "no_db") $sql_elements[$this->elements[1]] = $this->value;

	}
	
	function getDescription()
	{
		return "radio -> Beispiel: radio|gender|Geschlecht *|Frau=w;Herr=m|[no_db]|defaultwert";
	}
}

?>
wenn klappt waere eine kurze info gut.

lg

jn
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

Benutzeravatar
washy
Beiträge: 21
Registriert: 12. Aug 2008, 16:56
Wohnort: Holzhausen an der Haide
Kontaktdaten: ICQ Yahoo Messenger

8. Sep 2008, 01:31

Hallo Thomas, hallo Jan,
danke für Eure Hilfe!

Zunächst zu Jan!
Die Datei "class.xform.radio.inc.php" ist in meinem Paket bereits enthalten!
(Datei ist vom 28.05.2008 21:33)
Bis auf ein paar Kommentarzeilen ist sie auch identisch mit dem hier von Dir geposteten Code!


Wenn ich nun die folgendenZeile einsetze,

radio|gender|Geschlecht *|Frau=w;Herr=m||m

erhalte ich folgende Fehlermeldung:

Fatal error: Call to a member function setSelected() on a non-object in /kunden/116549_56357/tests/redaxo/redaxo/redaxo/include/addons/xform/classes/value/class.xform.radio.inc.php on line 16
http://wiki.redaxo.de/index.php?n=R4.HowTos

Nichts ist so schlecht, das es nicht für irgend etwas gut wäre!

Benutzeravatar
washy
Beiträge: 21
Registriert: 12. Aug 2008, 16:56
Wohnort: Holzhausen an der Haide
Kontaktdaten: ICQ Yahoo Messenger

8. Sep 2008, 01:40

Die Variante:

radio|gender|Geschlecht *|Frau=w;Herr=m

funktioniert!

Verständlicherweise ohne Vorbelegung!
http://wiki.redaxo.de/index.php?n=R4.HowTos

Nichts ist so schlecht, das es nicht für irgend etwas gut wäre!

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

8. Sep 2008, 07:51

das

Code: Alles auswählen

if (isset($this->elements[5])) $SEL->setSelected($this->elements[5]);
mit

Code: Alles auswählen

if (isset($this->elements[5])) $SEL->setSelected($this->elements[5]);
$this->value = $this->elements[5];
ersetzen.. klappts ?
lg

jn
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

Benutzeravatar
washy
Beiträge: 21
Registriert: 12. Aug 2008, 16:56
Wohnort: Holzhausen an der Haide
Kontaktdaten: ICQ Yahoo Messenger

8. Sep 2008, 15:42

Im Grunde noch keine Änderung!


Mit der Syntax:
radio|gender|Geschlecht *|Frau=w;Herr=m|[no_db]|m

erhalte ich die gleiche Fehlermeldung wie bereits beschrieben!


Wenn ich:
radio|gender|Geschlecht *|Frau=w;Herr=m|[no_db]
eintrage, erscheint keine Fehlermeldung! Das Formular funktioniert, ...jedoch wieder ohne Vorbelegung!
http://wiki.redaxo.de/index.php?n=R4.HowTos

Nichts ist so schlecht, das es nicht für irgend etwas gut wäre!

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

8. Sep 2008, 15:49

oh.. habe mich auch vertippt


das hier einsetzen

Code: Alles auswählen

if (isset($this->elements[5])) $this->value = $this->elements[5];
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

Benutzeravatar
washy
Beiträge: 21
Registriert: 12. Aug 2008, 16:56
Wohnort: Holzhausen an der Haide
Kontaktdaten: ICQ Yahoo Messenger

8. Sep 2008, 16:35

....BINGO! :-)

Nun klappt's!


Danke!
http://wiki.redaxo.de/index.php?n=R4.HowTos

Nichts ist so schlecht, das es nicht für irgend etwas gut wäre!

Zurück zu „Allgemeines [R4]“