Condition liest nur den Key eines Select Felds

Hier können Sie Fragen bezüglich des Datenbank-/Objektmoduls stellen.
excogito
Junior Member
Beiträge: 23
Registriert: Mo 11. Mai 2009, 16:50

Condition liest nur den Key eines Select Felds

Beitragvon excogito » Di 23. Apr 2013, 14:48

Ich habe eine Suche über Objekte mit Condition und listview type="object" realisiert. Das funktioniert prima, aber ein Feld in der Klasse ist ein Select-Feld (Ort_Auswahl). Der Kunde kann im Objekt dort voreingestellte Adressen auswählen.

Wenn ich das Feld (Ort_Auswahl) mit in die Condition nehme wird nichts gefunden, weil dort vermutlich nur der Key abgefragt wird. Natürlich soll mit dem Value verglichen werden. Dafür müsste es doch auch irgendeine Lösung geben, aber ich komme nicht drauf. Kann mir jemand helfen?

Das ist die Condition:

Code: Alles auswählen

<we:condition name="cond">
	<we:conditionAdd var="suchfunktion" type="global" field="Titel" compare="like" />
	<we:conditionOr />
	<we:conditionAdd var="suchfunktion" type="global" field="Untertitel" compare="like" />
	<we:conditionOr />
	<we:conditionAdd var="suchfunktion" type="global" field="Ausschreibungstext" compare="like" />
      <we:conditionAdd var="suchfunktion" type="global" field="Ort_Auswahl" compare="like" />
</we:condition>
Carolin Moll, Freiburg

AndreasWitt

Re: Condition liest nur den Key eines Select Felds

Beitragvon AndreasWitt » Fr 26. Apr 2013, 00:18

... trage doch bei Key und Value die gleichen Werte ein :D

Ansonsten kannst du daraus auch eine FR in der Bugbase http://qa.webedition.org machen. hier gab es vor Kurzem gerade für die Ausgabe von Key und Value bereits erste Erweiterungen: http://qa.webedition.org/tracker/view.php?id=7285

Grüße, Andreas

ThomasGoebe

Re: Condition liest nur den Key eines Select Felds

Beitragvon ThomasGoebe » Fr 26. Apr 2013, 00:38

Hallo excogito,

in meinen Augen ist gerade die Möglichkeit, konstante Keys mit änderbaren Values zu haben, der Sinn von Selectfeldern. Nach dem konstanten, also den keys kann dann gesucht, gefilter und was auch immer werden.

In den meisten Anwendungsfällen ist es möglich, dem Besucher für Filter die Values zu präsentieren, aber dennoch die Keys für die eigentliche Abfrage zu nutzen. Das scheitert im Prinzip nur bei Volltextsuchen.

Falls das bei Dir der Fall ist, könntest Du noch mit etwas php manuell in den values den richtigen Key suchen und diesen dann in der Condition verwenden.

Wenn die Zuordnung key / value recht konstant ist, musst Du noch nicht einmal die Daten der Klasse dazu abfragen, sondern kannst ein einfaches array nutzen. Andernfalls gibt es auch Möglichkeiten, direkt aus der DB die Definnition des Select Feldes in der DB zu ermitteln.

excogito
Junior Member
Beiträge: 23
Registriert: Mo 11. Mai 2009, 16:50

Re: Condition liest nur den Key eines Select Felds

Beitragvon excogito » Fr 26. Apr 2013, 10:29

Vielen Dank für Eure Antworten!
@Thomas Goebe
Ich dachte auch an so etwas, aber das funktioniert hier schlecht. Im Value des Select-Felds steht die gesamte Adresse einer Bildungseinrichtung, z.B. Heinrich-Hansjakob-Straße 1, Raum 15. Die Keys sind Ziffern. Wenn man alle Veranstaltungen, die dort stattfinden, suchen möchte, gibt man vielleicht Heinrich Jansjakob-Straße ins Suchfeld ein, oder Heinrich oder Hansjakob, oder vielleicht sogar Raum 15 ... das kann ich nicht alles per PHP zum richtigen Key zuordnen. (Oder vielleicht doch? – Bin kein PHP-Experte...) Auf jeden Fall wäre es toll und ich denke auch sinnvoll, wenn man in der Condition auch den Value des Selects vergleichen kann.

Insofern würde ich den Vorschlag von AndreasWitt annehmen und daraus ein Feature-Request machen.
Carolin Moll, Freiburg

AndreasWitt

Re: Condition liest nur den Key eines Select Felds

Beitragvon AndreasWitt » Fr 26. Apr 2013, 10:51

... mir fällt gerade noch ein, dass es für <we:listview> den Parameter "predefinedSQL" gibt. Der ist leider nicht dokumentiert, aber ich denke, dass man hier eigene SQL-Statements übergeben kann und somit dein Problem gelöst wäre.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Condition liest nur den Key eines Select Felds

Beitragvon mokraemer » Fr 26. Apr 2013, 23:10

das wird Euch nicht weiterbringen AFAIK wird in der DB nur der Key gespeichert - das ist ja der Sinn davon. Müßte ich aber auch erst nachschauen.
webEdition-Kern-Entwickler


Zurück zu „DB-/Objektmodul“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast