Seite 1 von 1

object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 13:44
von Luigii
Hallo,
ich möchte unterhalb der Dtailausgabe eines Oblektes eine Liste mit verwandten Objekten ausgeben, aber eben nicht mehr das bereits weiter oben ausgegebene Objekt. Ich suche also eine Condirion, die dassalbe macht, wie der Tag <we:ifNotSelf> innerhalb des Listview.
Ich habe probiert <we:conditionAdd field="WE_ID" var="WE_ID" type="document" compare="!=" />, das funktioniert aber nicht, es gibt dann keine Ausgabe in dem Listview.
Hat jemand eine Idee, wie ich den Ausschluss formulieren muss?

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 13:48
von Dirk Einecke
Hi,

Code: Alles auswählen

<?php $condition = (string) "OF_ID != '".$_GET['we_objectID']."'"; ?>
<we:listview type="object" classid="1" condition="\$condition">
  <we:repeat>
    ...
  </we:repeat>
</we:listview>
Dirk

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 16:04
von Luigii
Danke für die schnelle Antwort.
Leider macht der Listview immer noch keine Ausgabe. Ich habe

Code: Alles auswählen

<?php $filter = (string) "OF_ID != '".$_GET['we_objectID']."'"; ?>
probiert und ich habe auch sowas

Code: Alles auswählen

<we:conditionAdd field="OF_ID" var="we_objectID" type="request" compare="!=" />
probiert. Beide Male steht dasselbe in der Variablen $filter,
OF_ID != '65'
aber der Listview macht keine Ausgabe.
Was kann da schief laufen?

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 17:00
von Dirk Einecke
Hi,

schau mal, ob Fehler auftreten. Dies kannst du so machen:

Code: Alles auswählen

<we:listview ...>
  <?php p_r($GLOBALS['lv']); ?>
</we:listview>
Dirk

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 17:24
von Luigii
Folgendes wird ausgegeben:

Code: Alles auswählen

[DB_WE] => DB_WE Object
        (
            [Host] => localhost
            [Database] => xxxxx
            [User] => xxxxx
            [Password] => xxxxx
            [Auto_Free] => 0
            [Halt_On_Error] => no
            [Debug] => 0
            [Seq_Table] => db_sequence
            [Record] => Array
                (
                )

            [Row] => 0
            [ResultAssoc] => Array
                (
                )

            [Errno] => 1052
            [Error] => Column 'OF_ID' in where clause is ambiguous
            [type] => mysql
            [revision] => 1.2
            [Link_ID] => Resource id #36
            [Query_ID] => 
        )
Da steht also etwas von einem Fehler im Zusammenhang mit der OF_ID

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 17:32
von haydi
der name der Spalte "OF_ID" ist nicht unique innerhalb des query-strings
das heißt, es liegt wohl ein join vor bei dem mind. zwei der tabellen die Spalte OF_ID verwenden.
damit es eindeutig wird, muss der tabellenname oder sein alias dazu geschrieben werden

meintabellenname.OF_ID

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 17:55
von Luigii
WOW! Das ist ja echtes Geheimwissen.
Ich habe jetzt folgendes gemacht:

Code: Alles auswählen

<we:conditionAdd field="wetblObject_6.OF_ID" var="we_objectID" type="request" compare="!=" />
und siehe da, es funktioniert. Ich habe gesehen, dass für jede Klasse eine eigene Tabelle angelegt wird, das macht ja auch Sinn. Ich hätte jatzt aber gedacht, das WE selber weiß, in welcher Tabelle nachgeschaut werden muss, denn der Listview bekommt ja die classid mit.

naja, es funktioniert und ich bedanke mich vorerst für die schnelle Hilfe :D

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 21:58
von Dirk Einecke
Hi,
Luigii hat geschrieben:Ich hätte jatzt aber gedacht, das WE selber weiß, in welcher Tabelle nachgeschaut werden muss, denn der Listview bekommt ja die classid mit.
Ich vermute mal, dass du in deiner Klasse ein Feld vom Typ "Objekt" oder "Multi-Objekt" hast und somit die Inhalte mehrerer Objekte da sind. Deswegen ist dies mit der Angabe der Datenbanktabelle notwendig.

Dirk

Re: object aus listview ausschließen

Verfasst: Mi 2. Dez 2009, 22:25
von Luigii
AH, verstehe, klar, da ist es nicht eindeutig, auf welche Klasse sich das bezieht. Aber toll, dass das so einfach mit dem Tabellennamen geht und dass das auch noch mit WE-Bordmitteln möglich ist. Besten Dank.