we:ifFieldEmpty funktioniert nicht

Hier können Sie Fragen bezüglich des Datenbank-/Objektmoduls stellen.
somethingweirdo

we:ifFieldEmpty funktioniert nicht

Beitragvon somethingweirdo » Di 30. Okt 2007, 16:27

Hallo,
ich möchte ein <we:field type="float" ... /> wenn es leer ist durch ein <we:field type="select" ... /> ersetzen. Leider funktioniert mein folgender code nicht:

<we:ifFieldEmpty match="Kaufpreis">
<h3><we:field type="select" name="Preis_Ersatz" /></h3>
<we:else/>
<h3>€ <we:field type="float" precision="0" num_format="german" name="Kaufpreis" />,-</h3>
</we:ifFieldEmpty>

ich bekomme anstelle des select feldes immer nur € 0,- ausgegeben. Woran kann das liegen? Habe schon alles mögliche probiert.
Könnte es sein das ein Float Feld vielleicht automatisch 0 als Wert bekommt wenn man es leer lässt? Habe auch schon versucht es als Integer oder Textinput Feld zu ersetzen.

Danke im voraus für Hilfe.

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Beitragvon e_herrmann » Di 30. Okt 2007, 20:47

Hi,
hast du denn mal geprüft ob das Feld denn auch leer ist? Kann sein, dass bei Typ float "0" eingetragen ist.
Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

somethingweirdo

Beitragvon somethingweirdo » Mi 31. Okt 2007, 10:34

Hallo Elko,
ja das habe ich. Im Objekt ist das Feld leer. Ich hatte auch schon probiert statt des 'float Typs' 'integer' oder 'textinput' zu verwenden. Auch dann funktionierte es erst nicht. Gestern jedenfalls. Heute scheint mein webEdition ausgeschlafen zu haben. Nachdem ich ein neues Objekt erstellt hatte, ging es plötzlich. Allesdings funktioniert es nur wenn ich statt 'float' oder 'integer' ein 'textinput' verwende. Wie mir scheint kann float nicht 'gar nichts' enthalten sondern nur 0 als kleinsten Wert.

Grüße Maren

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Mi 31. Okt 2007, 11:07

Moin,
da im Feld "Kaufpreis" ja anscheind eh nur der Wert ohne , steht, also 1.234 habe ich daraus mal ein Textinput gemacht. Und das Select gebe ich auch als type="text" aus und siehe da:
Code: Alles auswählen


<we:ifFieldEmpty match="Kaufpreis">


<h3><we:field type="text" name="Preis_Ersatz" /></h3>

<we:else/>

<h3> Euro <we:field type="text" name="Kaufpreis" />,-</h3>


</we:ifFieldEmpty>
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

somethingweirdo

Beitragvon somethingweirdo » Mi 31. Okt 2007, 12:29

Hallo Mobby,
danke für die Mühe. Ich hab es jetzt so gelöst:

<we:ifFieldEmpty match="Kaufpreis">

<we:field type="select" name="Preis_Ersatz"/>
<we:else/>
€ <we:field type="text" num_format="german" precision="0" name="Kaufpreis" />,-

</we:ifFieldEmpty>

Das select Feld ist bei mir kein Problem. Es hatte mich nur sehr gewundert das man ein float Feld nich mit 'ifFieldEmpty' ersetzen kann.

Grüße Maren

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Beitragvon e_herrmann » Mi 31. Okt 2007, 12:32

Hi Maren,
ein mathematisches Nummernformat kann nie den Wert "" haben, da dies ja keine Zahl ist. Wenn du hier mal nicht weißt was in den Feldern eingetragen ist, hilft ein Blick in phpMyAdmin und dort kann man die eingetragenen Werte anschauen.
Wenn du beim entwickeln das Format eines Feldes umstellst, wirkt sich die nur auf neue Objekte/Dokumente aus. Bereits gespeicherte Dokumente/Objekte müssen erst neu gesichert werden bevor sich die Änderungen auswirken.
Ein Float- oder Integer-Feld kannst du mit ifField=0 prüfen.
Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

somethingweirdo

Beitragvon somethingweirdo » Mi 31. Okt 2007, 14:57

Hey,
danke, das werd ich gleich mal ausprobieren.

Nachtrag: Ich hab hier ein paar dicke Bücher liegen, hab auch reingeschaut. War ich wohl zu doof zum suchen... ;)

somethingweirdo

Beitragvon somethingweirdo » Fr 2. Nov 2007, 10:59

Hallo nochmal,
also leider bin ich mit ifField=0 auch nicht weiter gekommen.

Wenn ich es so schreibe:

<we:ifField=0 match="Kaufpreis">
<we:field type="float" name="Kaufpreis" />
<we:else/>
<we:field type="select" name="Preis_Ersatz"/>
</we:ifField=0>

bekomme ich in der Ausgabe trozdem nur das Feld Kaufpreis, wenn ich die Felder umtausche, also

<we:ifField=0 match="Kaufpreis">
<we:field type="select" name="Preis_Ersatz"/>
<we:else/>
<we:field type="float" name="Kaufpreis" />
</we:ifField=0>

bekomme ich nur das Preis_Ersatz Feld ausgegeben.
Leider gibt es ja zu dem ifField=0 keine Informationen in den Dokumentationen, also wäre ich sehr dankbar wenn ihr mir noch ein paar Tipps dazu geben könntet.

Grüße Maren

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Beitragvon e_herrmann » Fr 2. Nov 2007, 11:59

Hi,
da hatte ich in meinem Post die Schreibweise verkürzt. Das Tag heißt ifField und du solltest prüfen =0.
Hier wird es beschrieben.
http://we-devedge.de/tags/reference/we%3AifField
Ab der nächsten Version wird es auch im Tag-Wizzard beschrieben sein.
Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

somethingweirdo

Beitragvon somethingweirdo » Fr 2. Nov 2007, 12:35

Hallo Elko,
Danke für die schnelle Antwort, hab es jetzt auch hinbekommen. Irgendwie stand ich da wohl ein bissel auf dem Schlauch, danke auch fürs nicht übel nehmen ;).

Gruß Maren


Zurück zu „DB-/Objektmodul“

Wer ist online?

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