Condition über Multiobjekte in einer Listview

Fragen zum Erstellen von Templates für webEdition.
milesandmore

Condition über Multiobjekte in einer Listview

Beitragvon milesandmore » Mo 23. Jul 2007, 19:02

Hallo,

wir habe eine Listview (z.B. Datenbank Publikationen), die auch ein Multiobjekt (Datenbank Autoren) enthält. Eine Publikation kann mehrer Autoren enthalten, deswegen haben wir dies mit Multiobjekt gelöst.

Wir möchten nun mit einer Condition auch die Multiobjekt Felder abfangen, d.h. z.B. zeige mir nur die Publikationen an, bei der der Name des Autors (Datenbankfeld "Name") "Müller" ist. Leider scheitern wir immer dran. Haben das Gefühl, dass Conditions über die Multiobjekt Felder nicht funktionieren.

Kann uns jemand helfen?

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

Beitragvon e_herrmann » Di 24. Jul 2007, 08:28

Hi,
wenn ich mich richtig erinnere, ist bei einem Multiobject-Feld nur die ID hinterlegt. Also kannst du in der Condition auch nur auf diese zugreifen.
An die Werte eines Multiobject-Felds kommst du nur mit einer geschachtelten Listview. Und in dieser auch mit einer Condition.
Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

deemes

Beitragvon deemes » Mi 25. Jul 2007, 16:29

Habe eine Lösung für dieses Problem gefunden.

Im Multiobjekt-Feld stehen recht unbrauchbare Daten. Zumindest kann ich mit den meisten Werten in diesem String nichts anfangen. Am Ende des String stehen jedoch auch die ID's der zugeordneten Objekte.

Code: Alles auswählen

a:3:{s:5:"class";s:1:"1";s:3:"max";s:1:"5";s:7:"objects";a:2:{i:0;s:1:"[b]7[/b]";i:1;s:2:"[b]74[/b]";}}
Eine Condition die auf die ID eines Eintrages begrenzt kann so aussehen:

Code: Alles auswählen

Multioobjekt_Feld_Name REGEXP '[{].*[{].*[[.quotation-mark.]][b]7[/b][[.quotation-mark.]].*[}]'
Hier werden nur Einträge angezeigt denen im Multiobjekt-Feld ein Objekt mit der ID 7 zugeordnet ist.

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Di 10. Nov 2009, 13:33

Hallo,

ich habe folgendes Konstrukt, welches leider nicht funktioniert und keine Ausgabe auswirft:

Code: Alles auswählen

<we:listview type="object" name="WeinTeaser" rows="3" order="random()" classid="2" condition="Winzerzuweisung REGEXP '[{].*[{].*[[.quotation-mark.]][b]5[/b][[.quotation-mark.]].*[}]'" triggerid="2">
kann mir jemand sagen, was ich falsch mache?

vielen dank
_____________________________________________
Grüße
Michael

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Condition über Multiobjekte in einer Listview

Beitragvon we:willRockYou » Di 10. Nov 2009, 13:45

Schwer zu sagen. ;) Funktioniert es ohne Condition? Ist es auch wirklich ein Multiobjekt-Feld? (Ein Objekt-Feld muss anders abgefragt werden)

Kannst Du mal per phpMyAdmin schauen was in einem der Datensätze drin steht die gefunden werden sollten? Dann kann ich Dir ggf. sagen warum der Reguläre Ausdruck nicht passt.
EOF; //totally retired

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Di 10. Nov 2009, 13:52

mit dieser abfrage findet er alle verknüpfungen

Code: Alles auswählen

Winzerzuweisung REGEXP '[{].*[{].*[[.quotation-mark.]][[:digit:]]+[[.quotation-mark.]].*[}]'
aber ich möchte es auf eine id beschränken. im 2. schritt soll auch die id durch eine variable ersetzt werden.
_____________________________________________
Grüße
Michael

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Di 10. Nov 2009, 13:55

das ist der auszug aus der datenbank

Code: Alles auswählen

a:3:{s:5:"class";s:1:"1";s:3:"max";s:0:"";s:7:"objects";a:1:{i:0;s:1:"5";}}
_____________________________________________
Grüße
Michael

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Condition über Multiobjekte in einer Listview

Beitragvon we:willRockYou » Di 10. Nov 2009, 14:01

Hihi, ich glaube das ist nur ein Formatierungsproblem durch die Boardumstellung. Das alte Board konnte [b]bold[/b] innerhalb von [code]code[/code] darstellen. Das neue nicht. Ich hatte die Zahl damals bold formatiert. ;) Aus dem regulären Ausdruck müssen also das [b] und [/b] raus. :)

<we:listview type="object" name="WeinTeaser" rows="3" order="random()" classid="2" condition="Winzerzuweisung REGEXP '[{].*[{].*[[.quotation-mark.]]5[[.quotation-mark.]].*[}]'" triggerid="2">
EOF; //totally retired

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Di 10. Nov 2009, 14:12

habs rausbekommen

Code: Alles auswählen

Winzerzuweisung REGEXP '[{].*[{].*[[.quotation-mark.]]5[[.quotation-mark.]].*[}]'
kann das sein, dass sich die speicherform von we geänert hat?
_____________________________________________
Grüße
Michael

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Di 10. Nov 2009, 14:12

:-) danke hattest recht
_____________________________________________
Grüße
Michael

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Mi 18. Nov 2009, 11:29

hallo,

wie muss ich das schreiben, wenn ich die 5 in der obigen anweisung mit einer variable setzen lassen will?

danke
_____________________________________________
Grüße
Michael

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Condition über Multiobjekte in einer Listview

Beitragvon we:willRockYou » Mi 18. Nov 2009, 12:05

Steht in meinem ursprünglichen Beispiel. :)

http://forum.webedition.de/viewtopic.php?p=47908#p47908
EOF; //totally retired

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Mi 18. Nov 2009, 12:24

meinst du diese variante?
die funktioniert leider nicht

Code: Alles auswählen

<we:listview type="object" name="WeinTeaser" rows="3" order="random()" classid="2" condition="Winzerzuweisung REGEXP '[{].*[{].*[[.quotation-mark.]]".$WinzerID."[[.quotation-mark.]].*[}]'" triggerid="2">
_____________________________________________
Grüße
Michael

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Condition über Multiobjekte in einer Listview

Beitragvon we:willRockYou » Mi 18. Nov 2009, 12:40

Nein, so kann es nicht funktionieren. Du kannst Variablen nur als ganzes in Attribute stopfen, gemixt mit Strings funktioniert das nicht. Also wie im verlinkten Beitrag, die Condition zuerst in eine eigene Variable setzen und diese Variable dann als Attribut-Wert verwenden.
EOF; //totally retired

Michael D.
Senior Member
Beiträge: 523
Registriert: Mo 16. Jun 2003, 18:02

Re: Condition über Multiobjekte in einer Listview

Beitragvon Michael D. » Mi 18. Nov 2009, 12:50

jetzt verstehe ich :-)

klasse, danke. funktioniert prima.
_____________________________________________
Grüße
Michael


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

Wer ist online?

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