object aus listview ausschließen

Fragen zum Erstellen von Templates für webEdition.
Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

object aus listview ausschließen

Beitragvon Luigii » Mi 2. Dez 2009, 13:44

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?
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Re: object aus listview ausschließen

Beitragvon Dirk Einecke » Mi 2. Dez 2009, 13:48

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

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: object aus listview ausschließen

Beitragvon Luigii » Mi 2. Dez 2009, 16:04

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?
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Re: object aus listview ausschließen

Beitragvon Dirk Einecke » Mi 2. Dez 2009, 17:00

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

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: object aus listview ausschließen

Beitragvon Luigii » Mi 2. Dez 2009, 17:24

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
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Benutzeravatar
haydi
Senior Member
Beiträge: 645
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Hirschberg
Kontaktdaten:

Re: object aus listview ausschließen

Beitragvon haydi » Mi 2. Dez 2009, 17:32

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
Heidi Wetzel
Internet-Applikationen & Webseiten-Erstellung
https://www.heidi-wetzel.de

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: object aus listview ausschließen

Beitragvon Luigii » Mi 2. Dez 2009, 17:55

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
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Re: object aus listview ausschließen

Beitragvon Dirk Einecke » Mi 2. Dez 2009, 21:58

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

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: object aus listview ausschließen

Beitragvon Luigii » Mi 2. Dez 2009, 22:25

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.
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.


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

Wer ist online?

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